Haven property pages are built to be crawlable and understandable by search engines. That baseline helps guests who already know your name find your booking page — and gives you a solid foundation if you invest in broader discovery later. SEO is not a switch that guarantees top rankings for competitive location searches; it is ongoing work on the content and links you control.
Before you move a site to Haven, or at any time after, the free Direct Booking Website Audit scores any vacation-rental website for the same three things this article covers: what Google sees (SEO), what AI assistants see (GEO), and whether a guest can book on it. It reads the site as Googlebot, Bingbot and the AI search crawlers, and returns ranked fixes. See Direct Booking Website Audit.
Organic search describes your public property page. On the Free plan, your property stays in private preview: guests see a placeholder instead of your real page, and that property is not treated as a live, indexable property page. When you subscribe to a paid plan, Haven serves your full page to everyone and allows search indexing as described below. Accepting paid bookings still requires a connected, verified Stripe account.
Open Sites → SEO in the Host Dashboard (the page is titled SEO Optimization; /host?tab=seo) and pick a property or multi-unit site from the menu at the top. The list leads with multi-unit sites on your own domain, then properties on their own domain, then sites on a custom Haven address, then sites that only have a Haven code link. A site that already has its own domain appears once — the same roster is not listed again at its Haven subdomain or code address. Edit site beside the menu opens the selected site in its editor.
The hub reads what that public page actually shows search engines today. Nothing is estimated. From top to bottom the page has:
The ring shows your score out of 100. The gold arc behind it shows how high the score can go once every step is done, and the line under the grade says the same in numbers ("Up to 86 with the checklist below"). The grade sits beside the ring; select the ? next to it for the bands:
| Grade | Score |
|---|---|
| Excellent | 85–100 |
| Good | 70–84 |
| Fair | 50–69 |
| Needs work | Under 50 |
Four meters break the score down. Select a meter to filter the checklist to that area, or its ? for what the area covers:
The weights follow what the search engines and AI providers publish, not folklore. The heaviest checks are the ones every engine depends on: an original description, a blog, links from other sites (each distinct site linking to you adds points, up to three), and whether the search and AI crawlers can load the page. Google says there is no length limit on a title or description, so length is noted but never costs points (past about 70 characters, phones cut a title off). Google stopped showing FAQ results in 2026 and shows Vacation Rentals listings only for its Hotel Center partners, so those two earn points for what they do for AI assistants and Bing (plain answers and listing facts they can quote), weighted below the basics. llms.txt is worth a single point, because Google Search ignores it and no AI search service documents using it. Tools that only report how the site is doing earn nothing: Search Console and Bing Webmaster Tools verification are worth setting up once you have your own domain, because they show you the searches that find you, but they change nothing about how you rank or get cited, so their step is badged Not scored. Haven checks whether Google has indexed your pages, and tells Bing about every change, with or without them. Only published posts and live landing pages count; drafts earn nothing, because search engines cannot see them. SEO landing pages finish at two live pages: Google treats near-identical pages for one town after another as doorway spam, so a few genuinely different pages beat many similar ones.
Three checks also look at whether the words are right, not only whether they are there. Page heading (2 points) wants the headline at the top of the page to say something beyond your name — Google lists the main heading as a source for a result's headline and reads it to understand the page, so "AZULE" earns nothing where "Beach homes in St Augustine and Ponte Vedra" earns the points. Location (3 points) drops to 1 when a listing's stored city is a cut-short version of the one your other listings at the same postal code use ("Ponte" where four neighbors say "Ponte Vedra Beach"): that city is what the title, the search description and the listing's structured-data address all say, so one truncated field names a town nobody searches for in every one of them; a PMS import is the usual cause, and the fix is the listing's Location (and the PMS, if it syncs the address). Description depth caps at 3 of 5 while template text sits in the description — a merge field in braces that never filled in, such as {City} — because Google quotes page text to searchers exactly as written. None of these looks at spacing or punctuation: browsers and Google collapse doubled spaces, so they change nothing.
A page search engines can't index scores 0. A hidden, archived, demo or noindex page is invisible to Google, Bing and every AI assistant, so nothing else on it counts yet. Its steps still show their points, and the line under the grade says what it reaches once it is public. Instead of a step, Best next step points you at the visibility setting.
Understand scoring opens a table of every check behind your score: the points it is worth, exactly how it scores, why it carries that weight, and its impact on classic search (SEO) and on AI answers (GEO) rated separately, each with links to the Google, Bing, OpenAI, Anthropic or Perplexity page that says so. Below the table it lists what Haven handles for every site (sitemaps, robots.txt, canonical addresses, IndexNow), what is worth doing but can't be scored (Google's AI setting in Search Console, a Google Business Profile, Google Vacation Rentals, real mentions), and popular advice the score deliberately ignores.
On the right of the panel:
Under all of that, Best next step names the single step that adds the most points right now, with the points it adds and a one-line reason. Start opens that step in the checklist.
One list of every step behind the score, so there is one place to look and the first row is the one worth doing. Three kinds of step sit in it together:
Every row shows its real state — character counts, photo counts, what Google last reported — and where it stands: a hollow circle for not started, a part-filled ring for in progress, a green check for done. The gold + badge is the points a row still adds; a finished row shows the points it earned. A step worth no points (Search Console & Bing, and Foursquare) is badged Not scored instead. Rows sort by the points they still add, so the biggest gain is always on top and the unscored steps sit at the end of the open steps.
To do (the default) shows what is open; All adds what is done, under its own heading. A finished step that can still do more stays under To do marked Recommended: Linked profiles finishes at any two links, but the two that matter most are your business's Google Business Profile and Apple Maps place, so until those are in the row says so in gold and keeps inviting a click. (On a multi-unit site with 3 or more listings the two maps are their own scored step instead.) Nothing else is pushed on you: no single social account is required.
The area chips under the title — Indexing & identity, Page content, Structured data & answers, Authority & AI search — narrow the list to one area; the score panel's meters do the same. Every row has a ? beside its name that says what the item is, why it matters to search engines and AI assistants, and what good looks like.
Search performance shows what the checks have earned, for the last 28 days or 90 days:
Each tile compares with the window before. Select a tile to chart it; the dashed line is the window before. Below the chart, What people searched lists Google's top searches (the one that names your site is marked Your name), with Pages beside it on a site with several pages, and Where visitors came from splits every visit by source. Once you have opened the hub on two different days, the SEO score line at the bottom shows how the score moved, so you can line up a fix with the clicks that followed it. Google usually takes a few weeks to reflect a change.
Google reports a day or two behind, so the window ends on the last day it has. Clicks, times shown and searches need Google to know the site: on a Haven address they appear a few days after Google indexes the page; on your own domain Haven verifies itself with Google automatically when the domain goes live, and the panel says so while that finishes. Visits from AI assistants also show in Analytics → Analytics as the AI assistants channel, and the Traffic source filter there splits them by assistant — ChatGPT, Perplexity, Microsoft Copilot, Google Gemini, Claude, and other assistants.
Foursquare is a row in the checklist. Open it and it lists your listings on Foursquare's places database with your site as their website. Foursquare's data powers place results in ChatGPT search, and Apple Maps names it as a business-listings source, so a listing there gives AI assistants a direct link to your own site. It does not change your Google ranking and adds no points to the score, so its badge reads Not scored; the row's summary says where things stand (Not listed, Queued, On Foursquare, or on a multi-unit site 2 of 5 listings on Foursquare · 1 queued).
While any listing has not been sent, the open row starts with a warning: listing on Foursquare publishes the property's exact street address and map pin (each property's, on a multi-unit site), anyone can see it there, Foursquare shares it with other apps and AI assistants, and Haven cannot take a listing back once it is sent. Every listing has its own switch in the open row, and every switch starts off. Nothing is sent until you switch a listing on and confirm:
The switch is one-way. Once a listing is on, it stays on: there is no way to switch it back off or withdraw it from Haven, which the switch says when you hover it. A listing missing something Foursquare needs (street address, city, country, map pin, a real listing name, or a listing that is hidden) is marked Needs info with a Fix link and its switch stays off until that is filled in. A listing added to the site later starts off like every other and needs its own switch.
The switches stay off, and say so, until Haven has turned Foursquare on for everyone. Once it is on, you switch each listing on when you are ready.
Approved listings wait in a queue. Haven sends a few listings a day across all hosts, so Foursquare's reviewers never see a flood of submissions, and each row shows roughly when yours goes out. If Foursquare already has the place, Haven suggests your website on it instead of creating a duplicate. Each row then shows Foursquare is reviewing, On Foursquare (with View), Not accepted, or Couldn't send with the reason and Try again.
Only the host's own account can approve; an admin signed in as you cannot.
Search engines take days to weeks to notice changes, so expect rankings to follow the score slowly.
Learn more → SEO & GEO field guide downloads SEO & GEO without the folklore, a 15-page PDF written for short-term rental hosts. It covers only what Google, Bing, Schema.org and the AI answer engines have published themselves, and labels each claim by how firmly the source said it: documented, recommended, dismissed, or unknown. Inside:
The guide is general reading about search, not a description of Haven's settings. This article is the reference for what the hub does.
The fastest wins come from making your Haven page complete, accurate, and easy to link to. Work through this checklist:
Use the AI Writing Assistant if you want help tightening your tagline and description.
Your public pages keep each home's location private by default. Listing pages, multi-unit sites, the stays catalog and the structured data search engines and AI tools read show the town and a map area about 1 km wide, never the street address, postal code or precise map pin. A guest sees the exact address in their arrival guide once it unlocks.
Sites → SEO → Exact address has one switch for your whole account, Publish exact address, off by default. Turning it on asks you to confirm, because anyone on the internet will then be able to see the exact address of your homes: the street address and precise pin go into every public page and its source, and can be copied from there. Turning it off takes effect at once (pages already cached update within a few minutes).
Why you might turn it on: Google needs the precise map pin to show a page as a vacation rental in search, and a footer set to Show street address shows it only while this switch is on. Wi-Fi details, door and gate codes, check-in and checkout instructions, and your emergency and maintenance contacts are never on public pages, whatever this switch says; they appear only in the arrival guide.
Moving an existing website onto Haven on the same domain? When you connect a domain you already own, Haven scans the site that lives there and builds a redirect map so every old address sends visitors — and search engines — to the matching page here. The plan appears under Sites → SEO → Redirects from your previous site once the scan finishes (usually within a couple of minutes):
www/apex twin of your domain.If your domain was already Active on Haven before a scan ran, there is no old site left to read, so Haven skips the scan. The panel is simply Sites → SEO → Redirects: add any old address and pick the Haven page it should send to with a permanent (301) redirect.
A redirect sends an old path to a page that already exists. It does not name a listing. A listing's address is named in that listing's Custom URL section.
Redirects serve only once the domain is Active. See Custom domains for the connection steps. If you are leaving CraftedStays, leftover A and AAAA records on @ can still serve the old site on the bare domain after www is Active — see Coming from CraftedStays?.
Under Sites → SEO → Site map every address on the selected site is drawn as an outline: Home at the root, then each site page, landing page, listing (on a multi-unit site), blog article and legal page, with the machine files — sitemap.xml, robots.txt and llms.txt, plus image-sitemap.xml and vacation-rentals-sitemap.xml on a verified custom domain — beneath. The dot beside a page says how a crawler sees it: green is in the sitemap, grey is public but not listed (the page's pane says why — too little content yet, canonical on another site, a legal page), amber answers noindex, and a dashed dot is a hidden draft. Every page left out of the sitemap has a Learn why link beside its reason: it opens a short explanation of why leaving that page out is better for the site and, when you can change it, what would put it in. Select sitemap.xml to see every left-out page in one list. Detail pages that open from a card are listed at their own address once they have content, as long as the page they sit under is visible. An amber warning triangle beside a page means it shares its search title or description with another public page on the site; the page's pane names the other page. Two pages with one title read as one page to Google, which then shows only one of them, so give each its own. The line under the title counts what is in the sitemap, what is left out, how many drafts there are and how many pages share a title.
Pick any page to work on it:
/elevated-experiences to /experiences). Type the new address and select Change URL. Only the address changes: the page's name, its label in the navigation, its search listing and its content stay exactly as they were, and the navigation and any button set to open the page point at its new address. The old address becomes a permanent redirect to the new one, so bookmarks, shared links, links you typed by hand and search results keep working, and search engines move the page over as they recheck it. Old addresses are listed under the field as Redirects here from. If you give a page an address another page used before, that page's old redirect ends and the address belongs to the new page. The Blog always lives at /blog, so its address cannot change. A listing page has no URL field and no Change URL. Its address is named in the listing's Custom URL section (Edit listing → Preferences → Custom domain, the card titled Listing URL).noindex, follow and is left out of every sitemap (including the image and Vacation Rentals sitemaps for a listing). The page itself keeps working: it stays on your site and in its navigation, and anyone with the link can open it and book. Search engines drop a page they already list as they recheck it, usually within a few days to a few weeks, and turning the switch back on brings it back on the same schedule, not right away. The switch covers that one page only — hiding the home page does not hide the site's other pages. A listing's switch is the listing's own page, so it applies on every site that shows the listing; an article's applies on every site that shows the article. Legal pages are always kept out of search, so they have no switch, and hidden drafts are already out of search until you show them.<script> tag. On a multi-unit site every page describes itself: its own address, a breadcrumb from Home, and its type — a Contact page is a contact page, the page showing all your listings carries the list of them, and the local guide lists its places. On a single-property site a regular page carries the home page's markup. Landing pages and articles have their own. A listing on a multi-unit site shows the full markup of the listing's own page, including whether it carries Vacation Rentals markup and which required fields are still missing.Pick sitemap.xml to see exactly what the sitemap emits for this site — address, priority, change frequency and last-modified date. A verified custom domain serves its own sitemap; a custom URL or plain Haven address is listed in Haven's sitemap at its stable URL.
On a verified custom domain, pick image-sitemap.xml or vacation-rentals-sitemap.xml to read the file exactly as your domain serves it. The image sitemap lists every listing photo with its caption for Google Images; the Vacation Rentals sitemap lists the listings that have every field Google Vacation Rentals requires. Haven writes both from your live listings, so there is nothing to edit.
Pick robots.txt to read the file crawlers get at your own address. Haven writes it and keeps it current: it opens with a short description of the site (its name, how many places to stay, where, and where to book direct), opens every public page to search engines and AI systems, and welcomes Google, Bing, Apple, DuckDuckGo, ChatGPT, Claude, Perplexity, Gemini and other major crawlers by name. Booking, checkout, trip and account pages stay private, and the file points crawlers to your sitemaps and llms.txt. Like llms.txt, it publishes only at the site's own address; a plain Haven address uses Haven's robots.txt.
Pick llms.txt to read or write the plain-text summary AI agents can fetch. Haven generates it from the listing and keeps it current. Turn on Write my own to edit the text — the editor starts from Haven's version and autosaves; Start from Haven's text puts the generated version back in the editor, and turning the switch off returns to the generated file. Haven adds one attribution line at the end either way. The file publishes only at the site's own address, so it waits on a custom domain or custom URL.
Once your site is live on a custom domain, Haven writes its search copy for you, usually within about fifteen minutes. It reads every page — its content, its current listing, the site's facts — and writes a search title and description for each page that doesn't have one yet. Everything comes from what your site already says: it will not invent an amenity, a view or a distance, and it writes in the site's language. A title or description you wrote yourself is never replaced; Haven only fills the fields you left blank. The results land as each page's Search listing, so you can edit any of them afterwards, and your edit stays. If the description at the top of robots.txt is still Haven's default, it gets a fresh one too. llms.txt is left as Haven generates it, so it keeps up with your listings. On a very large site Haven works through the pages forty at a time.
New page on the panel adds a page without leaving the hub: a page in the site's navigation, or a standalone landing page that Haven can draft from a short brief. Either lands as a hidden draft so nothing empty goes public; fill it in and show it from the site editor, and it takes its place in the outline and the sitemap.
Haven publishes your site in five languages (English, Spanish, French, Portuguese and German; see Listing Language) and indexes each as a page of its own. Sites → SEO → Languages shows exactly how: one row per language with its status (Site language for your own, Indexed for a published translation, Translating while Haven is still writing it, Off when translation is off for the site), its address, and the hreflang and lang values the pages emit for it. Your site's own language lives at its plain address and every translation under its own prefix on the same address (/es, /fr, /pt, /de).
What crawlers get shows the tags the home page emits in its head for the version you pick: the lang attribute, the self-referencing canonical, one hreflang link per version plus x-default on the plain address, and og:locale with its alternates. Everywhere else lists the other places a language shows up: the sitemap emits every page once per language, each entry naming all versions with xhtml:link hreflang lines; structured data carries inLanguage; llms.txt ends with a Languages section naming each version and its address; the robots.txt header says which languages the site is published in and where each lives; and the daily IndexNow ping sends every language version of a page edited recently. AI assistants read the same pages as Google, so an answer in Spanish quotes your Spanish copy.
Pick any page under Site map and its Languages section lists that page's address in every language. Under sitemap.xml the address count notes how many languages each address is listed in.
Language settings on the panel opens the site's translation switch (Edit listing > Settings > Language for a property, the multi-unit site editor's Settings > Language for a site). Translation is on by default; with it off the site is served and indexed in its own language only, and the panel says so. While a language is still translating the panel says what Haven is doing; a language joins search as soon as its copy is published. A listing on its multi-unit site's domain is indexed there in the languages the site publishes; a language the site has not published stays at the listing's Haven address, and the row says so.
Select any step in the Checklist to open it in place; select it again to put it away. Inside the steps you can add and edit FAQs (with suggestions drafted from the listing), link your profiles, paste a Search Console verification token on a custom domain, start a blog, draft an SEO landing page, and, on a custom domain, generate a full SEO kit and review its drafts. For Search Console, choose the HTML tag method — paste the tag’s content value or the whole meta tag. A google….html file name is a different Google method and will not verify. Beneath it, the same step takes a Bing Webmaster Tools verification code: Microsoft Copilot answers from Bing's index, and Bing's AI Performance report is the one place to see how often Copilot cites your pages. Haven already tells Bing about your pages the moment they change (IndexNow), so verifying adds Bing's reports rather than faster indexing. Neither verification changes your ranking, so neither earns points; after verifying Google, check that Search generative AI features is on in Search Console, since Google says a site must be included there to appear in AI Overviews and AI Mode. The quickest route is Bing's Import from Google Search Console button once Google is verified; otherwise add the domain in Bing, choose the HTML meta tag method and paste its content value (or the whole tag) into the field. Both tags render only on your own verified domain, never on shared Haven pages. The Indexed by Google check has a Check now button that asks Google's URL Inspection for the current verdict. The single checks edit their field in place wherever Haven owns it: Brand name, Tagline, Description depth, Property type, Page heading (the hero headline, published as the page's H1), Location (the place line shown on the page, and the stored city of any listing the check names as cut short, with the neighbours' spelling one click away) and Photo descriptions (one field per photo without one, with an AI draft a click away), and the score follows as you type. A check whose work lives in the editor (photos to upload, amenities, story sections, reviews) opens that editor in a new tab so the hub stays put, and the hub refreshes when you come back. Every open check also shows a Published as line naming the markup property, tag or file Haven emits for it.
The Linked profiles step holds everything your site publishes as schema.org sameAs — the addresses that tell Google and AI assistants which other pages are this business and this place. Apart from the social icons described below, none of them appear as visible links on your site. Profiles start with your Google Business Profile (in Google Business Profile choose Share to copy the link; a g.page/…, maps.app.goo.gl/… or Google Maps address all work; pasting it also connects that business's Google reviews to the site, so they are imported and guests are asked for a Google review — see Connecting Google Reviews) and your Apple Maps place card (open it in Apple Maps, tap Share and copy the maps.apple/p/… link), then your Bing Places listing (a bing.com/maps link to your business or a binged.it share link; Microsoft recommends it so Copilot has your current address, hours and contact details), your Instagram, Facebook, YouTube, TikTok and X accounts, and your business's LinkedIn, Pinterest, Threads, Tripadvisor and Yelp pages. Your Pinterest link also shows as an icon beside your other social icons in the site footer, the multi-unit site footer and the guidebook home; LinkedIn, Threads, Tripadvisor and Yelp stay in search data only. On a listing, This listing on other sites takes the same home's own page on Airbnb, Vrbo and Booking.com, so its reputation there is tied to your site. Each field accepts only a link on its own platform and explains a wrong paste in place. When Haven already knows the listing's Airbnb id from your channel manager, the exact page is offered with a one-click Use it. A listing that shows its multi-unit site's profiles switches to its own set on the first edit, carrying the displayed values along. Every link counts toward the Linked profiles check, which finishes at two links. No single link is required, but once the step is finished it stays in your to-do list marked Recommended until the Google Business Profile and Apple Maps links are in, because those two are the ones that put your business on the maps people and assistants search. Add a Google Business Profile only if your business has one, since Google does not give them to individual vacation homes (see Google Maps, Google Business Profiles, and Google Vacation Rentals below). On a multi-unit site with 3 or more listings, the Google and Apple Maps links move to their own step, described next.
The Google & Apple Maps step appears on a multi-unit site with 3 or more listings, because a site that size is run by a business, and a business can have the map listing a single vacation home cannot. It walks you through putting your company on both maps and linking each listing back to your site. Google Business Profile (2 points): sign in, add your company under its real name with your site as its website, choose a category such as Property management company or Vacation home rental agency, add your office address (or hide it and list the areas you serve), verify the way Google offers, then choose Share and paste the link. Apple Business (1 point; Apple's name for what used to be Business Connect, at business.apple.com): sign up and verify your company, add your office under Brands → Locations with your site as its website, and once Apple approves it, open the place in Apple Maps, tap Share and paste the link. Each map shows its steps until its link is in, then a Linked badge. Use your company's real name, the one on your website and signs: adding a town or "vacation rentals" can get a Google profile suspended. Create one listing for the company, not one per rental. The step's 3 points come out of Backlinks on these sites (each linking site is worth 2 points instead of 3), so the score still totals 100.
The Guest reviews step counts the reviews your page shows: the guest rating and the reviews you feature, whether guests left them on Haven, your PMS synced them, or you imported them. It finishes once the page has at least five rated reviews and at least one featured. It is worth only a couple of points, because reviews mainly help guests decide to book, not Google rank the page. Haven does not add them to the page's structured data as review or rating markup, because Google gives no review stars to a business showing reviews of itself, and does not allow marking up reviews brought over from another site. Google names no ranking gain from reviews on a site; they show as plain text, which can still come up in search and AI answers. The reviews Google counts for local ranking are the ones on a Google Business Profile, for a business that is eligible for one (see Google Business Profile setup). Imported and synced reviews are still worth showing: guests read them before they book. Ask guests for reviews opens the guest emails that request them. Ask every guest, not only the happy ones, and never offer a discount or gift for a review: Google prohibits both on its own platforms.
The Backlinks step counts links from other sites, the one quality signal Google names that you cannot add to your own page, which is why it is the heaviest check: each distinct site confirmed to link to you adds 3 points, up to three sites (2 points each on a multi-unit site with 3 or more listings, where the other 3 go to Google & Apple Maps). Haven's community pages count as one site. So does any page you add under Sites linking here: paste its address and choose Add and check, and Haven opens the page and looks for a link to your site (Linking, No link yet, or Can't open), showing the words the link uses. Links you can earn suggests where to ask: places in your own local guide that have a website, and your chamber of commerce, tourism board, the venues and events you host guests for, and local press, each with a search for your area. Ask for this link text gives a descriptive line to request, such as "Dockside, the cottage in Traverse City", rather than "click here". Never pay for a link that is not marked sponsored.
The AI search step starts with Crawler access: whether the page loads for the crawlers behind Google Search and AI Overviews, Bing and Copilot, ChatGPT search, Claude and Perplexity. Haven checks once a week; Check now runs it again. A blocked crawler usually means a "block AI bots" setting on a CDN or firewall in front of your domain, which tends to block the search crawlers along with the training ones. Training crawlers (GPTBot, ClaudeBot) are a separate choice and are not checked. Crawler access is worth 4 points, because OpenAI says a site that blocks its search crawler is not shown in ChatGPT search answers at all. Below it, llms.txt is the plain-text summary some AI tools read; Google says Google Search ignores it, so it is worth a single point.
Under Site map → sitemap.xml, Kept current for you lists what Haven does with the sitemap on your behalf: it is rebuilt from your live pages every time a crawler reads it; on a custom domain the Vacation Rentals and image sitemaps sit beside it and all three are submitted to Google Search Console once the domain is live; and Bing, Yandex and the engines behind Microsoft Copilot and ChatGPT search are pinged directly (IndexNow) when a page goes live or is hidden, when a post is published, and once a day for any page edited since the last run.
A blog that keeps publishing specific, local, sourced posts is one of the strongest signals a site can send. If you do not have time to write it, turn on Blog Autopilot on any library blog (Grow your brand → Shared Page Content → Blog library → open a blog). Haven researches your destination on a weekly, fortnightly, or monthly rhythm, writes one grounded post per run on the content pillar you have covered least, and either drafts it for your review or publishes it and emails you. Quality checks, per-blog monthly caps, a thin-content sitemap gate, and one canonical URL per post keep the feature SEO-safe. See Blog Autopilot.
A portfolio ranks best as a single site. The home page of the multi-unit site sits on the domain you own, each listing gets a page under that domain at /property/{slug} (or its own subdomain of that domain, from the listing's subdomain sheet or Listing addresses on the site), and one blog, one FAQ set, and one run of landing pages feed the whole thing. Authority accrues to one address rather than scattering across a domain per unit.
The hub reads that structure and changes what it asks of you. Open a listing that belongs to a multi-unit site and its domain, blog, landing pages, Search Console, and llms.txt steps report the site's state, not the listing's. The blog step never starts a second blog for one unit; it sends you to the site's blog. The domain step asks for a domain on the site, since that one connection covers this listing and every other unit. A pill beside the score opens the site's own hub.
The Listing URL step shows where the listing lives on the site, for example www.lakefrontcabins.com/property/dock-house, and the name after /property/ is edited right there. Haven fills that name from the listing title. It only has to be unique on that site, so another host's subdomain of the same name does not block it. A custom subdomain, which is unique across Haven, still comes from the listing's Custom URL card and is what the page uses when one is saved. See Custom URLs.
The multi-unit site's own hub carries the other half: a Listing URLs step listing every member with an editable /property/ name (a custom URL, or the name Haven took from the title; it reads as done only once every listing has one). That name only has to be unique on this site. A domain step treats the domain as the roof over the home page, every listing page, the blog, and the FAQs.
A listing with its own verified domain is left out of that count and costs the site nothing: its page on the site points search engines to its own domain, so nothing is duplicated, and a separate domain is often the right call. The step lists those listings under On their own domain with advice that fits each one. Where Google already has the listing on its domain, it says so (with the search it ranks for, when it is in the top 10) and recommends keeping it. Where Google has not indexed it there yet and the site has a domain of its own, it recommends keeping the domain if guests know the listing by that name, and otherwise listing it only under the site so it shares the site's reputation, with Open domains to make the change. While the site is still on a Haven address, it recommends keeping the listing's own domain.
Two cases fall outside this. A listing on its own verified domain is its own brand, even when it also appears in a multi-unit site, so its hub recommends the full set for that domain. A listing with no multi-unit site behaves as it always has.
Search engines index one address for a listing. On a multi-unit site with a verified domain that address is /property/{slug} until the listing's subdomain of that domain is live, then {slug}.{domain}. The subdomain sheet on Settings → Domains & Email chooses that parent per listing (with a switch back to bookwithhaven.com); Listing addresses on the site does it for every listing. The canonical tag, structured data, and the domain's sitemaps all name the one live address. The other copies stay reachable and are not indexed, and the page redirects to the subdomain once that hostname is live. The one exception is a listing that belongs to two of your multi-unit sites that both have a verified domain. It has no single home, so it stays indexed at its stable /properties/{code} URL, and the domain step in its hub says so. A hidden site never counts.
Guests looking for a trip (not your brand name) can find public, bookable listings in Haven stay search at bookwithhaven.com/stays. Hide from public takes you off that search as well as the Examples gallery — it is not an Examples-only hide. See Visibility and publishing.
Guests searching for your property or brand name can find your Haven page in Google results once it is indexed. Haven property pages include:
VacationRental JSON-LD only when the listing meets Google’s required set: a stable identifier, a real name, occupancy, coordinates to at least five decimal places, and at least eight photos including one in a bedroom space, one in a bathroom space, and one in a common area. Recommended fields (address, property type, bedrooms, bathrooms, beds, floor size, check-in and check-out times, and languages) are added when those values are already stored — never invented. Guest reviews are never marked up, for the reason given under the Guest reviews step above. Listings that miss a required field do not emit a VacationRental node. They publish the same stored facts (name, address, coordinates, photos, rooms, beds, occupancy, amenities) as a plain schema.org Accommodation, or House or Apartment for a whole home. Custom domains use that domain as the listing URL. A listing on a multi-unit site with a verified domain uses /property/{slug} on that domain, or {slug}.{domain} when Listing addresses is subdomains. Custom URL subdomains canonicalize to the stable /properties/{code} URLBlogPosting JSON-LD with its headline, dates, publisher and hero image. A hero photo uploaded to Haven is listed in the three shapes Google asks for (wide, 4:3 and square); a hero hosted elsewhere is listed as is. When the article's byline matches the name on your host profile (Settings → Account & Profile → Profile) and the profile is shown on your pages, the author is linked to your public host profile page, which carries your name, photo and bio as profile markup. A byline with anyone else's name is published as that name only/property/{slug}, or at {slug}.{domain} once that subdomain is live, with its gallery photos. A custom URL ({your-name}.bookwithhaven.com) does not: its pages canonicalize to the stable /properties/{code} URL, so they are listed in the shared sitemap under that URL. Published blog posts of 300 words or more are listed at their canonical URL too. Your public host profile page (/hosts/{id}) is in the main sitemap once your profile has a name and is shown on your pages. The Listing facts step in the SEO hub lists, for each listing still short, exactly which of the five required facts it is missing and gives you the field right there: the name, the maximum occupancy, the map pin (search the street address, drag the pin onto the building, or paste the coordinates Google Maps copies, with each coordinate's decimal count shown and green at five), and a space picker on the unassigned photos to put the bedroom, bathroom and living-space shots in their rooms; only uploads happen in the gallery, which opens in a new tab. The step also carries the account-wide Publish exact address switch, because while it is off every published pin is rounded to two decimals (about 1 km) whatever is stored, so no listing can pass the coordinate check. On a multi-unit site the step reads as done only once every listing qualifiesRanking for generic queries like "beach house in [city]" takes longer and depends on competition, content depth, and links from other sites — not just Haven’s technical setup.
Guests who have seen your property photos (e.g., on social media, in an email, or on another site) can use Google Lens or reverse image search to find your Haven booking page. Your property images are indexed and linked to your property, so a guest can upload or paste an image and be directed to your booking page.
Structured data, crawlable HTML, and sitemaps help search engines understand and index Haven sites. Haven also publishes llms.txt resources as an optional machine-readable index for AI agents and systems that support the convention.
Accommodation markupllms.txt on that host. The file is optional and separate from how search engines index your site. Do not assume Google Search, AI Overviews, ChatGPT, Perplexity, or Gemini use it.Google Maps and Google Vacation Rentals are different visibility channels.
Most individual vacation rental homes are not eligible for a standard Google Business Profile just because they are rentals. In general, you should not create a separate Google Maps profile for each Airbnb, cabin, condo, private home, or vacation rental address.
The Google Vacation Rentals integration is in progress. Comparison results are a separate channel from the crawl markup above: they run on a price and availability feed, which is the piece still being built. Until it ships, listings do not appear in Google’s vacation-rental comparison UI. To follow progress, open Host Dashboard → Feature Requests, find the Google Vacation Rentals request, and hit Follow — you’ll get an email whenever the Haven team posts an update on it, and you can upvote it.
What already works today: property pages that meet Google’s required VacationRental fields publish the structured data and appear on the listings-only sitemap, so brand-name Google search on your direct site is live now. Those fields include the precise map pin, so a listing qualifies only while Publish exact address is on (see Exact address). Haven’s baseline SEO makes your public site crawlable and understandable; it is not a guaranteed Google Maps listing.
The best place to start is with what you control:
If you have an eligible local business — such as a property management office, boutique inn, staffed lodging location, or verifiable rental brand — you may be able to create a Google Business Profile for that business. The profile should represent the business, not each individual rental home. On a multi-unit site with 3 or more listings, the Google & Apple Maps step in Sites → SEO walks you through it, and through the matching Apple Maps listing.
If your business is eligible, add your Haven site as the main Website link. If Google gives you a Booking link option, add your direct booking URL there as well.
For step-by-step instructions, see How to Set Up a Google Business Profile for Vacation Rentals.
Once your property is public (paid plan), it may take a few hours to a few days for Google to index new or updated property pages. Indexing speed depends on how often Google crawls the site and how much content has changed. Haven’s infrastructure is set up for search engines to crawl public properties; you do not need extra SEO configuration for that baseline.
Publishing a blog post with 300 words or more of body copy adds that article URL to your sitemap, which Google reads, and sends it to IndexNow (Bing, Yandex) right away. A shorter post stays out of the sitemap and IndexNow and carries a noindex tag, so it will not show in search results until it reaches 300 words. Indexing still happens on Google’s schedule (typically 1–3 days).
For developers or AI agents that support the convention, the following resources describe Haven’s structure:
{your-host}/llms.txt{your-host}/sitemap.xml. A custom URL subdomain does not, because its pages are listed here under their stable canonical URL{your-host}/vacation-rentals-sitemap.xml (Haven subdomains do not — those listings stay on the shared file via the stable canonical URL)New to Haven?
Haven is the direct booking platform these guides are written for — a branded site, secure payments, and guest relationships you own. Build yours free.
Free to build · No credit card · Private until you publish