PHP sitemap en createElement DOM voor meerdere talen
Ik heb een vraag over het creëren van een sitemap in PHP. Ik wil mijn website in meerdere talen gaan aanbieden en wil dat ook graag in de sitemap verwerken, die ik dus wil aanpassen.
Huidige code voor huidige sitemap:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
$doc = new DOMDocument('1.0', 'UTF-8');
$doc->formatOutput = true;
$urlset = $doc->createElement('urlset');
$urlset->setAttribute('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9');
$urlset = $doc->appendChild($urlset);
$root = $doc->createElement('url');
$root = $urlset->appendChild($root);
/// LOCATION
$title = $doc->createElement('loc');
$title = $root->appendChild($title);
$text = $doc->createTextNode("https://website.com");
$text = $title->appendChild($text);
/// HIER MOET DAN DE XHTML:LINK KOMEN MET REL ALTERNATE ///
/// LASTMOD
$title = $doc->createElement('lastmod');
$title = $root->appendChild($title);
$text = $doc->createTextNode("$date_lastmod");
$text = $title->appendChild($text);
/// CHANGE FREQUENTIE
$title = $doc->createElement('changefreq');
$title = $root->appendChild($title);
$text = $doc->createTextNode("weekly");
$text = $title->appendChild($text);
/// PRIORITY
$title = $doc->createElement('priority');
$title = $root->appendChild($title);
$text = $doc->createTextNode("1.0");
$text = $title->appendChild($text);
$filename = "sitemap.xml";
$doc->save($filename);
?>
$doc = new DOMDocument('1.0', 'UTF-8');
$doc->formatOutput = true;
$urlset = $doc->createElement('urlset');
$urlset->setAttribute('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9');
$urlset = $doc->appendChild($urlset);
$root = $doc->createElement('url');
$root = $urlset->appendChild($root);
/// LOCATION
$title = $doc->createElement('loc');
$title = $root->appendChild($title);
$text = $doc->createTextNode("https://website.com");
$text = $title->appendChild($text);
/// HIER MOET DAN DE XHTML:LINK KOMEN MET REL ALTERNATE ///
/// LASTMOD
$title = $doc->createElement('lastmod');
$title = $root->appendChild($title);
$text = $doc->createTextNode("$date_lastmod");
$text = $title->appendChild($text);
/// CHANGE FREQUENTIE
$title = $doc->createElement('changefreq');
$title = $root->appendChild($title);
$text = $doc->createTextNode("weekly");
$text = $title->appendChild($text);
/// PRIORITY
$title = $doc->createElement('priority');
$title = $root->appendChild($title);
$text = $doc->createTextNode("1.0");
$text = $title->appendChild($text);
$filename = "sitemap.xml";
$doc->save($filename);
?>
Nu wil ik dus onder de <loc>...</loc> de rel-alternate in loop gaan toevoegen zoals in het voorbeeld van Google:
https://developers.google.com/search/docs/advanced/crawling/localized-versions#sitemap
Code (php)
1
2
3
4
2
3
4
<xhtml:link
rel="alternate"
hreflang="de"
href="http://www.example.com/deutsch/page.html"/>
rel="alternate"
hreflang="de"
href="http://www.example.com/deutsch/page.html"/>
Mijn vraag is hoe ik die xhtml:link moet toepassen in mijn code, omdat die enigszins anders is qua construtie met de tags dan de huidige tags. Iemand die me kan zeggen hoe ik dat zou moeten doen?
Gewijzigd op 17/06/2021 14:26:46 door G Jansma