php网站地图生成器和多语言网站

时间:2018-08-15 14:10:16

标签: php sitemap hreflang

我有一个文件sitemap.php来创建sitemap.xml(我使用php是因为我要从数据库中检索数据,但在此省略了该部分)

代码如下:

<?php 
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; 
echo 
"<url>
<loc>http://www.mywebsite.it</loc>
<lastmod>" .  $data_oggi . "</lastmod>
</url>
<url>
<loc>http://www.mywebsite.it/eng/</loc>
<lastmod>" .  $data_oggi . "</lastmod>
</url>
</urlset>";

由于我得到的sitemap.xml是:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.mywebsite.it
</loc>
<lastmod>2018-08-15</lastmod>
</url>
<url>
<loc>http://www.mywebsite.it/eng/
</loc>
<lastmod>2018-08-15</lastmod>
</url>
</urlset>

但是现在,如果我以这种方式添加hreflang属性:

...
echo '<?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">'; 
... 
echo 
"<url>
<loc>http://www.mywebsite.it</loc>
<xhtml:link 
           rel='alternate'
           hreflang='it'
           href='http://www.mywebsite.it'/>
<xhtml:link 
           rel='alternate'
           hreflang='en'
           href='http://www.mywebsite.it/eng/'/>
...
</url>
<url>
<loc>http://www.mywebsite.it/eng/</loc>
<xhtml:link 
           rel='alternate'
           hreflang='it'
           href='http://www.mywebsite.it'/>
<xhtml:link 
           rel='alternate'
           hreflang='en'
           href='http://www.mywebsite.it/eng/'/>
...

我得到的sitemap.xml文件就是:

 http://www.margheritabonaldi.it 2018-08-15 1.00 http://www.margheritabonaldi.it/eng/ 2018-08-15 0.80

我丢失了所有标签。发生什么事了?

感谢大家的帮助!

0 个答案:

没有答案