URL-адреса с запросами в теге , файл индекса sitemap

#php #xml #.htaccess #seo #sitemap

#php #xml #.htaccess #seo #Карта сайта

Вопрос:

Разрешено ли указывать ?id=1 часть URL в sitemap_index.xml , <loc> тег?

Я хочу создать динамическую карту сайта.

Я включил выполнение php в файлах .xml, добавив эту строку AddType application/x-httpd-php .xml в .htaccess, и теперь я хочу создать один статический файл индекса sitemap и один динамический файл sitemap, вот код, который я написал:

sitemap_index.xml:

 <?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <sitemap>
      <loc>http://example.com/sitemap.xml?id=1</loc>
      <lastmod>2014-07-06</lastmod>
   </sitemap>
   <sitemap>
      <loc>http://example.com/sitemap.xml?id=2</loc>
      <lastmod>2014-07-06</lastmod>
   </sitemap>
   <sitemap>
      <loc>http://example.com/sitemap.xml?id=3</loc>
      <lastmod>2014-07-06</lastmod>
   </sitemap>
   <!-- ..And so on -->
</sitemapindex>
  

sitemap.xml:

 <?php

(empty($_GET['id'])) ? $_GET['id'] = 0 : settype($_GET['id'], 'int');

$result = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';

$from = $_GET['id']*45000;
$to = $_GET['id']*45000 45000;

for ($i = $from; $i < $to; $i  ) {
  $result .= '
  <url>
    <loc>http://example.com/page.php?id=' . $i . '</loc>
    <lastmod>2014-07-06</lastmod>
    <changefreq>weekly</changefreq>
  </url>';
}

$result .= "n</urlset>";

echo $result;

?>
  

Комментарии:

1. Для динамического создания XML используйте библиотеку XML — это лучше, чем просто объединение строк (примеры уже существуют здесь, на сайте IIRC). кроме того, какая часть справочной документации sitemap XML вам неясна в отношении параметра запроса, который вы задаете в своем вопросе?

2. @hakre К сожалению, в XML-ссылке sitemap ничего нет о ?SOMETHING=SOMETHING части в файле индекса sitemap :c

3. Ну, эти строки запроса являются просто стандартной частью HTTP-URL, и они там используются. В этом нет ничего плохого. Хотя в ссылке не указано, какому стандарту следует следовать для URL-адресов, однако на самом деле существует только один, так что я не буду сильно беспокоиться.

Ответ №1:

ДА. В карте сайта может быть любой допустимый URL. URL-адрес со строкой запроса, который показан в вашем примере, является обычным и обычно встречается во всех файлах sitemap, кроме самого базового сайта.

ДА. У вас могут быть URL-адреса sitemap со строками запросов. [Кажется, подойдет любой допустимый URL] (. https://webmasters.stackexchange.com/questions/49589/sitemap-xml-file-extension-does-it-have-to-be-xml) . Попробуйте отправить свой URL-адрес в Google Webmaster Tools, и вы сможете убедиться, что он работает.

Комментарии:

1. он спрашивал о файлах индекса sitemap, они содержат URL-адреса не на реальные страницы, а на другие файлы sitemap. Таким образом, вопрос заключался скорее не в том, какой URL-адрес может быть в карте сайта, а в том, какие URL-адреса могут иметь карты сайта (файлы XML).