6

Google Search Console (Webmaster Tools) keeps listing the following errors for my sitemap:

Sitemap provided URLs and alternate URLs in 'de' that do not have return tags.

+---+-----------------+------------+------------------------+
| # | Originating URL | Crawl date | Alternate URL          |
+---+-----------------+------------+------------------------+
| 1 | /en/            | 12/1/16    | http://www.example.de/ |
| 2 | /nl/            | 12/5/16    | http://www.example.de/ |
+---+-----------------+------------+------------------------+
  • I don't understand what is meant by this error.
  • I can't find anything wrong with the sitemap.

Here is the complete sitemap:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
    <url>
        <loc>http://www.example.de</loc>
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/" />
        <priority>1.0</priority>
    </url>
    <url>
        <loc>http://www.example.de/wohnung.php</loc>
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/wohnung.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/apartment.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/woning.php" />
        <priority>1.0</priority>
    </url>
    <url>
        <loc>http://www.example.de/lage.php</loc>
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/lage.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/location.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/ligging.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/belegung.php</loc>
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/belegung.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/calendar.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/beschikbaarheid.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/anfrage.php</loc>
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/anfrage.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/booking.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/reservering.php" />
        <priority>0.8</priority>
    </url>
    <url>
        <loc>http://www.example.de/anreise.php</loc>
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/anreise.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/arrival.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/route.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/tourismus.php</loc>
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/tourismus.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/tourism.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/toerisme.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/preise.php</loc>
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/preise.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/rental.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/prijzen.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/faq.php</loc>
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/faq.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/faq.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/faq.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/links.php</loc>
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/links.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/links.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/links.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/impressum.php</loc>
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/impressum.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/imprint.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/impressum.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/en/</loc>
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/" />
        <priority>1.0</priority>
    </url>
    <url>
        <loc>http://www.example.de/en/apartment.php</loc>
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/apartment.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/wohnung.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/woning.php" />
        <priority>1.0</priority>
    </url>
    <url>
        <loc>http://www.example.de/en/location.php</loc>
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/location.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/lage.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/ligging.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/en/calendar.php</loc>
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/calendar.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/belegung.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/beschikbaarheid.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/en/booking.php</loc>
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/booking.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/anfrage.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/reservering.php" />
        <priority>0.8</priority>
    </url>
    <url>
        <loc>http://www.example.de/en/arrival.php</loc>
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/arrival.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/anreise.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/route.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/en/tourism.php</loc>
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/tourism.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/tourismus.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/toerisme.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/en/rental.php</loc>
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/rental.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/preise.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/prijzen.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/en/faq.php</loc>
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/faq.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/faq.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/faq.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/en/links.php</loc>
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/links.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/links.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/links.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/en/imprint.php</loc>
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/imprint.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/impressum.php" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/impressum.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/nl/</loc>
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/" />
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/" />
        <priority>1.0</priority>
    </url>
    <url>
        <loc>http://www.example.de/nl/woning.php</loc>
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/woning.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/apartment.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/wohnung.php" />
        <priority>1.0</priority>
    </url>
    <url>
        <loc>http://www.example.de/nl/ligging.php</loc>
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/ligging.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/location.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/lage.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/nl/beschikbaarheid.php</loc>
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/beschikbaarheid.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/calendar.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/belegung.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/nl/reservering.php</loc>
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/reservering.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/booking.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/anfrage.php" />
        <priority>0.8</priority>
    </url>
    <url>
        <loc>http://www.example.de/nl/route.php</loc>
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/route.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/arrival.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/anreise.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/nl/toerisme.php</loc>
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/toerisme.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/tourism.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/tourismus.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/nl/prijzen.php</loc>
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/prijzen.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/rental.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/preise.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/nl/faq.php</loc>
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/faq.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/faq.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/faq.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/nl/links.php</loc>
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/links.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/links.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/links.php" />
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://www.example.de/nl/impressum.php</loc>
        <xhtml:link rel="alternate" hreflang="nl" href="http://www.example.de/nl/impressum.php" />
        <xhtml:link rel="alternate" hreflang="en" href="http://www.example.de/en/imprint.php" />
        <xhtml:link rel="alternate" hreflang="de" href="http://www.example.de/impressum.php" />
        <priority>0.5</priority>
    </url>
</urlset>
  • I wouldn't have expected this to trip up Google, but the URL is strictly http://www.example.de/ (with a trailing slash), not http://www.example.de as you have it in the sitemap. Browsers always "fix" the URL by appending a trailing slash on the request, but often omit the trailing slash when displaying the "user-friendly" version in the browser's address bar. All the Google examples I've seen include the trailing slash. (?) – MrWhite Jan 11 '17 at 10:14
2

I think norcal johnny is incorrect. Yes, it's not ideal to have content for Dutch users on a .de domain but it's not technically incorrect to do so. And the error you are seeing is a technical error.

Your sitemap actually does show return tags. So there are a few possibilities I can think of where an error might arise from:

  1. You have weird canonical tags somewhere that's making Google ignore some of your alternate URLs.
  2. Google hasn't processed the full sitemap and hasn't crawled all language versions yet.

If you post the actual URLs, that might give us some more info to troubleshoot. And if all else fails, ping John Mueller on Twitter or Google's forums.

0

You should be using something like this instead.

hreflang="en-de"

In not doing so you are incorrectly mapping the url, language and country.

For instance:

You should end with up with :

rel="alternate" href="http://www.example.de/en/" hreflang="en-de"

I would suggest checking out this Hreflang Tags generator to see how it works based on the web address, language and country you are targeting.

http://www.aleydasolis.com/en/international-seo-tools/hreflang-tags-generator/

Note: I am in no way affiliated with www.aleydasolis.com

  • In general, is it feasible to run a multilingual website on a ccTLD using sub-folders? Are gTLD always better for this purpose? – el4rbol Dec 13 '16 at 19:10
  • This isn't strictly invalid. In fact, Google recommends to always have a general language version eg. "en" as well and you won't necessarily be using a gTLD. But anyway, I don't see how this relates to the "return tags" error? – MrWhite Jan 11 '17 at 10:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for?Browse other questions tagged or ask your own question.