السلام عليكم ورحمة الله وبركاته
رمضان كريم وكل سنه وانت طيبين
موضوعنا عن ملف sitemap بلغة PHP
ياعني الملف ايكون اسمه كده sitemap.php
في ناس اتقولي طيب ايه لازمته ؟ وهل جوجل يرضي يخليه ملف sitemap.xml
لازمته كتيره جدا بلغة PHP ونعم قوقل مش ايجي يستقبله وهو sitemap.php لكن احنا انعمل حركه يخليه يبا sitemap.php و sitemap.XML في نفس الوقت
طريقة استخدمه ايه وازاي ممكن نستخدمه باحسن من طريقة
الاول انا اعرض صوره اتخلص الموضوع ازاي نستفيد من sitemap هو بلغة PHP
ده صوره لاعدادت روابط خرائط الموقع اتحكم فيه من موقعي لاني مش عايز وقت لتاني اروح لجوجل يحذف ملف رابط او يعدل رابط وانا اقدر اعمل كل ده من مكاني
كل مواضيع اني عايز اخلي كل حاجه تقدر تتحكم فيه وانت من لوحة التكم مش عايزك تتعب خالص
في روابط الموقع في الصوره فوق ده الرابط الي اتعمل تعمل رابط وكده ده علي حسب شغلك في PHP
والجداول الي تحت ده روابط sitemap تقدر تعدل عليه او تحذف
صوره كده لملف sitemap.xml
لو لحظته فوق اتلقي رابط ملف sitemap.xml مش sitemap.php
وفيهم الرابطين الي عملناهم في اول صوره من لوحة التحكم
ندخل علي المهم
اعمل ملف باسم sitemap.php
وحط فيهم دول
كود PHP:
<?php
$sys = mysqli_connect("localhost", "root", "12345678", "hazem");
$mange = mysqli_query($sys,"SELECT sitemap FROM cpanel");
$sitemap = mysqli_fetch_assoc($mange);
$query = "SELECT url FROM sitemap";
$result = mysqli_query($sys, $query);
header("Content-Type: application/xml; charset=utf-8");
echo '<?xml version="1.0" encoding="UTF-8"?>'.PHP_EOL;
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">' . PHP_EOL;
while($row = mysqli_fetch_array($result))
{
echo '<url>' . PHP_EOL;
echo '<loc>'.$row["url"] .'/</loc>' . PHP_EOL;
echo '<changefreq>daily</changefreq>' . PHP_EOL;
echo '</url>' . PHP_EOL;
}
echo '</urlset>' . PHP_EOL;
?>
علشان نخلي ملف sitemap.php الي sitemap.xml
انستخدم ملف .htaccess
حط فيه الرابط ده
كود PHP:
RewriteRule ^sitemap\.xml/?$ sitemap.php
كده خلصنا من الملف لقاعده البيانات
ده جدول الsql
كود PHP:
/*
Navicat MySQL Data Transfer
Source Server : localhost_3306
Source Server Version : 50715
Source Host : localhost:3306
Source Database : hazem
Target Server Type : MYSQL
Target Server Version : 50715
File Encoding : 65001
Date: 2019-05-17 14:36:04
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `sitemap`
-- ----------------------------
DROP TABLE IF EXISTS `sitemap`;
CREATE TABLE `sitemap` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`url` text,
`name` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of sitemap
-- ----------------------------
اسم name في الجدول ده ملهوش لازمه لكن انا بستخدمه في لوحة التحكم علشان الترتيب علشان اعرف اسم كل رابط بتاع ايه
ممكن في ناس متكونش فهماني لحد الان بس اول ما تجربوا اتفهوا قصدي