[英]How to generate a Google Sitemap with localized versions of a page using PHP and DOMDocument
我想使用 PHP 為多語言網站生成 Google Sitemap。 我怎樣才能以正確的方式做到這一點,而不打印 XML 字符串? 也許使用 PHP DOMDocument 類?
結構必須類似於 Google 推薦的結構: https : //support.google.com/webmasters/answer/189077#sitemap
這是一個我已經有答案的問題:
$domtree = new DOMDocument("1.0", "UTF-8");
$domtree->formatOutput = true;
$urlset = $domtree->createElementNS("http://www.sitemaps.org/schemas/sitemap/0.9", "urlset");
$domtree->appendChild($urlset);
$urlset->setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xhtml", "http://www.w3.org/1999/xhtml");
{
//create the `url`
$url = $domtree->createElement("url");
//add the url
$url_root = $urlset->appendChild($url);
{
//create the `loc`
$loc = $domtree->createElement("loc", "http://www.example.com/english/page.html");
//add the loc to the url
$url_root->appendChild($loc);
//create `xhtml:link`
$xhtml_link = $domtree->createElement("xhtml:link");
//add the `xhtml:link` to the `url`
$url->appendChild($xhtml_link);
{
//create an `rel` attribute to the `xhtml:link`
$dom_attribute = $domtree->createAttribute("rel");
$dom_attribute->value="alternate";
//add the attribute to the `xhtml:link`
$xhtml_link->appendChild($dom_attribute);
//create an `hreflang` attribute to the `xhtml:link`
$dom_attribute = $domtree->createAttribute("hreflang");
$dom_attribute->value="en";
//add the attribute to the `xhtml:link`
$xhtml_link->appendChild($dom_attribute);
//create an `href` attribute to the `xhtml:link`
$dom_attribute = $domtree->createAttribute("href");
$dom_attribute->value="http://www.example.com/english/page.html";
//add the attribute to the `xhtml:link`
$xhtml_link->appendChild($dom_attribute);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.