Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 16285 байт. Загружен за: 1сек.
Проверяемая страница не запрещена в robots.txt.
Цепочка редиректов для файла robots.txt:
http://homevalue.com/robots.txt
301 MovedPermanently
https://www.homevalue.com/robots.txt
200 OK
Показать содержимое robots.txt
<!DOCTYPE html>
<html>
<head>
<!-- Google tag (gtag.js) -->
<title>Home Value</title>
<meta name="description" content="Find the true value of your home | Home Value Dot Com.">
<link rel="canonical" href="https://homevalue.com/" />
<meta name="facebook-domain-verification" content="2oi7hu7x6ns03m9hvzadmenzlu87xj" />
<meta property="og:title" content="Find the true value of your home | Home Value Dot Com." />
<meta property="og:type" content="website" />
<meta property="og:url" content="http://homevalue.com/" />
<meta property="og:description" content="Find the true value of your home - Home Value Dot Com." />
<meta name="twitter:card" content="summary" />
<meta name="twitter:description" content="Find the true value of your home | Home Value Dot Com." />
<meta name="twitter:title" content="Find the true value of your home | Home Value Dot Com." />
<meta name="twitter:url" content="http://homevalue.com/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-ZZZWY0HZBN"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-ZZZWY0HZBN');
</script>
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '538167317815498');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=538167317815498&ev=PageView&noscript=1"
/></noscript>
<link rel="shortcut icon" href="./image/HV/favicon.ico" type="image/x-icon">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.2/font/bootstrap-icons.css">
<link rel="stylesheet" href="./css/style.css?time=083752374">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="//fonts.googleapis.com/css?family=Lato:300,400,700" rel="stylesheet"/>
<script src="https://kit.fontawesome.com/ea72be84fe.js" crossorigin="anonymous"></script>
<link href="https://fonts.googleapis.com/css2?family=Raleway:wght@600;800&display=swap" rel="stylesheet">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script type="text/javascript" src="//maps.googleapis.com/maps/api/js?key=AIzaSyCwzX3Bf0clla-woQVSEf38ElPQ72hBfek&libraries=places"></script>
<link href="//api.tiles.mapbox.com/mapbox-gl-js/v0.37.0/mapbox-gl.css" rel="stylesheet"/>
<script src="//api.tiles.mapbox.com/mapbox-gl-js/v0.37.0/mapbox-gl.js"></script>
<script type="text/javascript">
window.gm_authFailure = function() {
return false
}
</script>
<script src="js/vue-prod.js"></script>
<script src="js/vue-router-prod.js"></script>
<script src="https://fast.wistia.com/embed/medias/bnd2sbglfe.jsonp" async></script>
<script src="//fast.wistia.net/assets/external/E-v1.js" async></script>
<script src='https://api.mapbox.com/mapbox-gl-js/v2.6.0/mapbox-gl.js'></script>
<link href='https://api.mapbox.com/mapbox-gl-js/v2.6.0/mapbox-gl.css' rel='stylesheet' />
<script>
const app = Vue.createApp({
data(){
return {
lat:0,
lng:0,
userId:0,
notfound: false,
localUrlHrefBase: 'http://localhost:8501/HV_Vue/',
windowWidth: null,
MAPBOX_ACCESS_TOKEN : 'pk.eyJ1IjoianRyYWN5NzI4IiwiYSI6ImNpeXZtaG5oMDAwMnkzMm1weTAwb3I5eXkifQ.idT-tNBvvNU1PPVBcmFLtg',
LPT_GOOGLE_GEO_API_KEY : 'AIzaSyCwzX3Bf0clla-woQVSEf38ElPQ72hBfek'
}
},
computed: {
showMobile() {
if (this.windowWidth > 991) return false
else return true
}
},
methods: {
scrollToElementById(elementId) {
let bodyTop = document.body.getBoundingClientRect().top
let element = document.getElementById(elementId)
if (element) {
let elementTop = element.getBoundingClientRect().top
window.scrollTo(0, elementTop - bodyTop - 10)
}
},
updateSiteMetaData(title, desc, image, imageWidth, imageHeight) {
if (document.title != title) {
document.title = title
document.querySelector('meta[property="og:title"]').setAttribute("content", title)
}
document.querySelector('meta[name="description"]').setAttribute("content", desc)
document.querySelector('meta[property="og:description"]').setAttribute("content", desc)
document.querySelector('meta[property="og:image"]').setAttribute("content", image)
document.querySelector('meta[property="og:image:width"]').setAttribute("content", imageWidth)
document.querySelector('meta[property="og:image:height"]').setAttribute("content", imageHeight)
document.querySelector('meta[property="og:url"]').setAttribute("content", window.location.href)
},
goToPage(path) {
let url = `${this.localUrlHrefBase}#/${path}`
window.location.href = url
window.location.reload(true)
// this.$router.go(`#/${this.user.userId}/property/${this.property.propertyId}`) // does not route to page with new propertyId
},
trimString(str) {
return str.replaceAll(/[^A-Z0-9]+/ig, '')
},
hardCollapseNavbar() {
let navbarCollapseEl = document.getElementById('top-navbar-collapse')
let hamburgerEl = document.getElementById('top-navbar-hamburger')
if (navbarCollapseEl && navbarCollapseEl.classList.contains('show')) {
navbarCollapseEl.classList.remove('show')
if (hamburgerEl && !hamburgerEl.classList.contains('collapsed')) {
hamburgerEl.classList.add('collapsed')
}
}
},
collapseNavbar() {
let navbarCollapseEl = document.getElementById('top-navbar-collapse')
if (navbarCollapseEl && navbarCollapseEl.classList.contains('show')) {
let navbarCollapse = new bootstrap.Collapse(navbarCollapseEl)
navbarCollapse.toggle()
}
},
toggleAccordion(header, index) {
let expansions = [...document.querySelectorAll('.accordion-answer')]
expansions.forEach(expansion => {
expansion.classList.remove('expanded')
})
let icons = [...document.querySelectorAll('.accordion-icon')]
icons.forEach(icon => {
icon.classList.remove('rotate-down')
})
let iconEl = document.getElementById(`${this.trimString(header)}-icon-${index}`)
let expansionEl = document.getElementById(`${this.trimString(header)}-expansion-${index}`)
if (expansionEl) {
expansionEl.classList.add('expanded')
let root = this
setTimeout(function() {
root.scrollToElementById(`${root.trimString(header)}-header-${index}`)
}, 300)
}
if (iconEl) {
iconEl.classList.add('rotate-down')
}
},
initiateCookie() {
if (!this.cookieHasValue('hv')) {
this.setCookie('hv', '6B34BF21-C101-5B33-69069E185C583EF8')
}
},
cookieHasValue(cookieName) {
let cookie = this.getCookie(cookieName)
if (cookie === "") return false
else return true
},
setCookie(cookieName, cookieValue) {
document.cookie = cookieName + "=" + cookieValue
},
getCookie(cookieName) {
let name = cookieName + "="
let decodedCookie = decodeURIComponent(document.cookie)
let ca = decodedCookie.split(';')
for (let i = 0; i < ca.length; i++) {
let c = ca[i]
while (c.charAt(0) == ' ') {
c = c.substring(1)
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length)
}
}
return ""
},
async getGeoBySearchString(searchString) {
let response = await fetch(`api/backend.cfc?method=getGeoByString&locationString=${searchString}`);
let data = await response.json();
this.$root.lat = data.lat;
this.$root.lng = data.lng;
},
convertJsonToCfFormScope(jsonObject) {
var returnBody = ''
var keyList = ''
for (const key in jsonObject) {
returnBody = returnBody + key + '=' + encodeURIComponent(jsonObject[key]) + '&'
};
for (const key in jsonObject) {
keyList = keyList + key + ','
};
returnBody = returnBody + 'jsonObject=' + encodeURIComponent(JSON.stringify(jsonObject)) + '&keyList=' + keyList + 'jsonObject';
return returnBody
},
formatPhoneNumber(phoneNumber) {
if((phoneNumber.substring(0, 2) == '+1')){
phoneNumber = phoneNumber.slice(2)
}
if((phoneNumber.charAt(0) == '1')){
phoneNumber = phoneNumber.slice(1)
}
if((phoneNumber.substring(0, 1) == '1')){
phoneNumber = phoneNumber.slice(1)
}
phoneNumber = phoneNumber.replace(/\D/g,'')
//Filter only numbers from the input
let cleaned = ('' + phoneNumber).replace(/\D/g, '').slice(0, 10)
if (cleaned.length == 1) return '(' + cleaned.slice(0, 1)
if (cleaned.length == 2) return '(' + cleaned.slice(0, 2)
if (cleaned.length == 3) return '(' + cleaned.slice(0, 3)
if (cleaned.length == 4) return '(' + cleaned.slice(0, 3) + ') ' + cleaned.slice(3, 4)
if (cleaned.length == 5) return '(' + cleaned.slice(0, 3) + ') ' + cleaned.slice(3, 5)
if (cleaned.length == 6) return '(' + cleaned.slice(0, 3) + ') ' + cleaned.slice(3, 6)
if (cleaned.length == 7) return '(' + cleaned.slice(0, 3) + ') ' + cleaned.slice(3, 6) + '-' + cleaned.slice(6, 7)
if (cleaned.length == 8) return '(' + cleaned.slice(0, 3) + ') ' + cleaned.slice(3, 6) + '-' + cleaned.slice(6, 8)
if (cleaned.length == 9) return '(' + cleaned.slice(0, 3) + ') ' + cleaned.slice(3, 6) + '-' + cleaned.slice(6, 9)
if (cleaned.length == 10) return '(' + cleaned.slice(0, 3) + ') ' + cleaned.slice(3, 6) + '-' + cleaned.slice(6, 10)
return ""
},
fieldIsValid(focusedItem, fieldValue) {
if (!focusedItem) return false
return fieldValue !== ''
},
emailIsValid(email) {
let validRegex = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/
if (email.match(validRegex)) return true
else return false
},
},
async created() {
if (!this.$route.matched[0].name || this.$route.matched[0].name == '404-regex') {
this.goToPage('') // route to 404
} else {
await this.initiateCookie()
this.scrollToElementById('hvapp') // scroll to top
}
this.windowWidth = window.innerWidth
window.addEventListener('resize', () => {
this.windowWidth = window.innerWidth
})
window.addEventListener('scroll', () => {
this.hardCollapseNavbar()
})
},
mounted(){
let $this = this
let $router = hvrouter
},
watch: {
$route(to, from) {
this.collapseNavbar()
this.scrollToElementById('hvapp') // scroll to top
if (!this.$route.matched[0].name || this.$route.matched[0].name == '404-regex') {
this.goToPage('') // route to 404
}
}
}
});
</script>
<script src="js/componentsjs.cfm?time=083752374"></script>
<script src="js/mixinsjs.cfm?time=083752374"></script>
</head>
<body>
<div id="hvapp">
<navigation-header></navigation-header>
<router-view></router-view>
<navigation-footer></navigation-footer>
</div>
<script>
const hvRoutes = [
{path: '/', name: 'home', component: objLayoutsHome, props:true, meta: {title:'Home Value'}},
{path: '/about', name: 'about', component: objLayoutsAbout},
{path: '/marketing-plan', name:'marketingplan' , component: objLayoutsMarketingplan, props:true},
{path: '/online-estimate-vs-homevalue-consultation', name:'estimate' , component: objLayoutsEstimate, props:true},
{path: '/whats-your-home-worth', name:'homeworth' , component: objLayoutsHomeworth, props:true},
{path: '/tv-commercials', name:'commercials' ,component: objLayoutsCommercials, props:true},
{path: '/privacy', name:'privacy' , component: objLayoutsPrivacy, props:true},
{path: '/map', name:'map' , component: objGlobalMap, props:true},
{path: '/9-critical-questions', name: 'questions', component: objLayoutsOrderquestions, props: true},
{path: '/active-marketing-plan', name: 'amp', component: objLayoutsOrdermarketing, props: true},
{path: '/7-homebuyer-strategies', name: 'strategies', component: objLayoutsOrderstrategies, props: true},
{path: '/mobile-terms-of-service', name: 'mobiletos', component: objLayoutsMobiletos, props: true},
{path: '/contact-us', name: 'contactus', component: objLayoutsContactus, props: true}
// {path: '/search/:address', name: 'search', component: objLayoutsSearch, props: true }
]
let path = "";
if(window.location.href.includes("localhost:85") || window.location.href.includes("127.0.0.1:85")){
path = "HomeValue_Vue";
}
const hvrouter = VueRouter.createRouter({
history: VueRouter.createWebHistory(path),
routes : hvRoutes
})
app.use(hvrouter)
hvrouter.beforeEach((to, from, next)=>{
fbq('track', 'PageView');
if(to?.meta?.title){
document.title = to.meta.title;
}else{
let split = to.path.replace("/", "").replaceAll("-", " ").split(" ");
for(let s in split){
split[s] = split[s].charAt(0).toUpperCase() + split[s].slice(1);
}
document.title = split.join(" ");
}
next();
});
</script>
<script>
app.mount('#hvapp')
/*
(function(a,b,c,d){
a='https://tags.tiqcdn.com/utag/robertpalmercompanies/rpfunding/prod/utag.js';
b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=false;
a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a);
// uses onload, for modern browsers
d.onload = function() {
if (! d.onloadDone) {
d.onloadDone = true;
hvrouter.afterEach((to, from) => {
console.log('to',to)
utag.view({"page_name":to.path});
})
app.mount('#hvapp')
}
};
// uses onreadystatechange, for IE9
d.onreadystatechange = function() {
if ( ( "loaded" === d.readyState || "complete" === d.readyState ) && ! d.onloadDone ) {
d.onloadDone = true;
app.mount('#hvapp')
}
}
})();
*/
</script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
</body>
</html>