2016-10-13 7 views
0

Я пытаюсь создать карту сайта для установки typo3 с несколькими языками. Я пробовал как 10 расширений, и никто из них, похоже, не подходит. Некоторые из них создают карту сайта только для языка по умолчанию. Некоторые из них создают ссылки для всех языков, но также создают ссылки на страницы, которые вообще не переведены.карта сайта для многоязычной страницы

Idealy Я хотел бы вывести карту сайта, как это: https://support.google.com/webmasters/answer/2620865?hl=en

И только добавить ссылки на другие языки, если страница существует на этом языке. Также мы не используем язык по умолчанию. Поэтому я просто хочу, чтобы в нем были локализованные ссылки.

Я также пытался создать что-то с жидкостью, а затем выводить его как XML, без хорошего успеха.

Любая идея, как это сделать?

Редактировать (это редактирование принадлежит к ответу Юзефа Spisiak и его изменения в seo_basics)

Изменившиеся seo_basics с выхода Юзеф Spisiak следующий код:

Config:

tx_seo_xmlsitemaps.10.sysLanguageHrefLangMappings { 
    # sys_language_uid = hreflang 
    1 = de-ch 
    4 = de-at 
    12 = de 
} 

Выход:

<url> 
    <loc>http://domain.com/</loc> 
    <lastmod>2016-10-13T17:53:56+02:00</lastmod> 
</url> 
<url> 
    <loc>http://domain.com/home/</loc> 
    <lastmod>2016-06-27T15:25:24+02:00</lastmod> 
    <xhtml:link rel="alternate" hreflang="" href="http://domain.com/home/" /> 
    <xhtml:link rel="alternate" hreflang="de-ch" href="http://domain.com/ch/home/" /> 
    <xhtml:link rel="alternate" hreflang="de-at" href="http://domain.com/at/home/" /> 
    <xhtml:link rel="alternate" hreflang="de" href="http://domain.com/de/home/" /> 
</url> 
<url> 
    <loc>http://domain.com/ch/home/</loc> 
    <lastmod>2016-06-27T15:25:24+02:00</lastmod> 
    <xhtml:link rel="alternate" hreflang="" href="http://domain.com/home/" /> 
    <xhtml:link rel="alternate" hreflang="de-ch" href="http://domain.com/ch/home/" /> 
    <xhtml:link rel="alternate" hreflang="de-at" href="http://domain.com/at/home/" /> 
    <xhtml:link rel="alternate" hreflang="de" href="http://domain.com/de/home/" /> 
</url> 
<url> 
    <loc>http://domain.com/at/home/</loc> 
    <lastmod>2016-06-27T15:25:24+02:00</lastmod> 
    <xhtml:link rel="alternate" hreflang="" href="http://domain.com/home/" /> 
    <xhtml:link rel="alternate" hreflang="de-ch" href="http://domain.com/ch/home/" /> 
    <xhtml:link rel="alternate" hreflang="de-at" href="http://domain.com/at/home/" /> 
    <xhtml:link rel="alternate" hreflang="de" href="http://domain.com/de/home/" /> 
</url> 
<url> 
    <loc>http://domain.com/de/home/</loc> 
    <lastmod>2016-06-27T15:25:24+02:00</lastmod> 
    <xhtml:link rel="alternate" hreflang="" href="http://domain.com/home/" /> 
    <xhtml:link rel="alternate" hreflang="de-ch" href="http://domain.com/ch/home/" /> 
    <xhtml:link rel="alternate" hreflang="de-at" href="http://domain.com/at/home/" /> 
    <xhtml:link rel="alternate" hreflang="de" href="http://domain.com/de/home/" /> 
</url> 

ответ

1

Мы используем seo_basics и создали эту функцию вместе с конфигурацией typoscript, на которой языки будут отображаться в файле Sitemap. Вы можете проверить код здесь: https://github.com/pixelant/t3ext-seo_basics/

Для настройки зайдите в раздел настроек тайваньского ввода. Мы также создали запрос тянуть, но он все еще ждет ответа: https://github.com/b13/t3ext-seo_basics/pull/30

+0

О, это выглядит здорово, я пришел определенно вернуться к этому – nbar

+0

я установил и опробовал расширение и это выглядит очень хорошо до сих пор (я отправил выход в исходном сообщении). Единственным недостатком является то, что мы не используем язык по умолчанию для чего-либо, кроме целевой страницы. Есть ли способ исключить язык по умолчанию? – nbar

+0

Это выглядит как ошибка для меня: hreflang = "". Может быть, вы можете попытаться отфильтровать его, добавив некоторые условия в код? –