2012-06-30 3 views
2

Я довольно новичок в поисковой оптимизации. Но, я слышал, что sitemaps могут значительно улучшить SEO. Я знаю, что файл sitemap должен быть в формате xml. Но содержание моего сайта очень динамично. При этом мне нужно запросить БД, чтобы узнать, как содержимое изменилось с течением времени. Мой код выглядит следующим образом:Может ли файл Sitemap быть php?

<?php 
require_once("functions.php"); 
connect(); 

// Query the DB to get the past season MLB teams 
$query = mysql_query("SELECT * FROM past_season_team_articles") or die(mysql_error()); 
$count = mysql_num_rows($query); 
$i  = 0; 

while($row = mysql_fetch_assoc($query)) 
{ 
    $team[$i] = $row['team']; 
    $year[$i] = $row['year']; 

    $i++; 
} 
?> 
<?xml version="1.0" encoding="UTF-8"?> 
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> 
<?php 
// Loop thru the array and echo out the MLB teams 
for($i=0;$i<$count;$i++) 
{ 
?> 
<url> 
    <loc>http://www.sportannica.com/teams.php?team=<?php echo $team[$i]; ?>&amp;year=<? php echo $year[$i]; ?></loc> 
    <changefreq>weekly</changefreq> 
    <priority>0.8</priority> 
</url> 
<?php 
} 
?> 
</urlset> 
+1

Каков ваш вопрос/проблема? – Amber

+0

Я просто хочу знать, может ли файл sitemap быть файлом php – Lance

+0

нет, файл PHP будет генерировать карту сайта либо в xml, html и т. Д. –

ответ

4

Я использую .htaccess (оба под Apache и под IIS с использованием helicon) для сопоставления запросов sitemap.xml к sitemap.php, который возвращает «живую» карту сайта. Просто быстро просмотрел ваш код, но это выглядит правильно, вам просто нужно переписать переписать.

+0

Ну, что мне делать? Как сопоставить переписывание с файлом .htaccess? – Lance

+0

Перезаписи широко распространяются на StackOverflow и в других местах, и поскольку это может зависеть от вашей конфигурации, я не собираюсь предоставлять образцы, которые могут быть бесполезны для вас. Google .htaccess или базовую переписывание URL или проверить тег mod-rewrite на Stack Overflow. –

+0

Да, я уже немного перепутал с modrewrite. Я использовал его, чтобы сделать ссылки на некоторые страницы моего сайта более чистыми и удобными для пользователя. Но код, который я написал по моему вопросу, выглядит правильно? Мне просто нужно использовать файл .htaccess, чтобы содержимое файла sitemap.php загружалось в файл sitemap.xml? – Lance

1

Если вы используете Apache или Nginx можно использовать правила перезаписи для обработки запросов на файл карта сайта на PHP скрипт, который генерирует содержимое карты сайта вместо этого, вместе с соответствующими заголовками.

Может быть приятно, если вы предоставите более подробную информацию о своей настройке.

+0

Ум, я не слишком много знаю о настройке сервера, на котором размещается мой сайт. Я думаю, что это Cent OS. Но, кроме того, я не слишком много знаю. Я уже перепутал файл .htaccess, чтобы сделать чистые URL-адреса. Но я сейчас ушел, потому что, когда я очищал URL-адреса, внешние файлы css и js не загружались должным образом. Вид новичка на этот ... – Lance

0

Вы попробовать это ..

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

while($row = mysql_fetch_assoc($query)) 
{ 
    echo "<url><loc>http://www.sportannica.com/teams.php?team=$row['team']&amp;year=$row['year']</loc>"; 
    echo " <changefreq>weekly</changefreq> 
    <priority>0.8</priority> 
</url>"; 
} 
?> 
</urlset> 
+0

Ум, это по сути делает то же самое, что и мой код. – Lance

+0

вы использовали двойные петли и массивы ... – Vaishu

Смежные вопросы