В този урок ще разгледаме пример за автоматично генериране на Sitemap файл за сайтове, които генерират страниците си на базата на информация записана в MySQL таблици.
Какво е Google Sitemap?
Това са един или няколко plain-text или
XML файла съдържащ информация, която помага на индексиращата система на
Google. Въпреки, че Google проследява автоматично вътрешните хиперлинкове, има случаи в които без
Sitemap индексирането на сайта е невъзможно.
Повече информация:
https://www.google.com/webmasters/tools/docs/en/protocol.html
Въведение в примера
Нека сайта който ще използваме за пример да съдържа следните файлове:
- index.php - заглавната страница, която показва новини,
- tutorials.php - извежда списък с уроци,
- vievtutorial.php - извежда един урок,
- contact.php - статична страница с информация за контакти.
vievtutorial.php извежда съдържанието на урок по зададен параметър id.
Всички новини и уроци са записани в 2 еднотипни
MySQL таблици:
Tutorials:
News:
Прараметри за свързване с базата данни::
Database: „database”
Username: „username”
Password: „password”
Да разгледаме кода, който генерира динамичен Sitemap
XML
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <?php
$user = 'username';
$pwd = 'password';
mysql_connect( 'localhost', $user, $pwd ) or die( 'Cannot connect to database server' );
mysql_select_db( 'database' ) or die( 'Cannot open database' );
header( 'Content-Type: application/xml' );
?>' биха объркали PHP интерпретатора.
echo( '<?xml version="1.0" encoding="UTF-8"?>\n' );
?> |
CODE
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <?php
$sql = "SELECT MAX( news_date ) as date FROM news";
$result = mysql_query( $sql ) or die( mysql_error() );
$row = mysql_fetch_assoc( $result );
echo( str_replace( ' ', 'T', $row['date'] ) . substr( date("O"), 0, -2 ) . ':00' );
?> |
CODE
CODE1
2
3
4
5
6
| <?php
$sql = "SELECT MAX( tutorials_date ) as date FROM tutorials";
$result = mysql_query( $sql ) or die( mysql_error() );
$row = mysql_fetch_assoc( $result );
echo( str_replace( ' ', 'T', $row['date'] ) . substr( date("O"), 0, -2).':00' );
?> |
CODE
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <?php
$sql = "SELECT * FROM `tutorials`";
$result = mysql_query( $sql ) or die( mysql_error() );
while( $row = mysql_fetch_assoc($result) )
{
?>
<url>
<loc>http://www.yoursite.com/viewtutorial.php?id=<?php echo $row['tutorials_id']; ?></loc>
<lastmod><?php echo( str_replace(' ', 'T', $row['tutorials_date']) . substr(date("O"), 0, -2) . ':00'; ?></lastmod>
</url>
<?php
}
?> |
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
| <url>
<loc>http://bwebi.com/contact.php</loc>
<lastmod>2007-09-14T21:56:53<?php echo substr( date("O"), 0, -2).':00'; ?></lastmod>
</url>
</urlset>
|
В заключение
С наученото от този пример ще можете да генерирате динамично Sitemap
XML за всеки сайт,
но наистина е добре да се запознаете по-основно с видовете и форматите на
Sitemap файловете на адрес:
https://www.google.com/webmasters/tools/docs/en/protocol.html
Източник:bwebi.com