MicroAd Compass Wipe_Banner - PC/SP-header部、PC/SP-body部セットで設置 - 外部HTML
Table of Contents - いろいろ Tips - 目次  
 Sitemap Generator - サイトマップ生成プログラム 
 In-Page Search - 検索を自ページ設置 
 Download Counter - ダウンロードカウンター 
 Draft Manager - ブラウザで下書き保存 
 Text Encryption - テキスト暗号・復号化 
 CSS & JavaScript - 圧縮・整形/復元ツール 
 Simple Yet Powerful Note Tool - メモメモ 
 Task Management - 仕事/やること管理 
 Local Storage Check - ローカルストレージチェック 
 Pixel Art - ピクセルアート作成 
 Freehand Drawing - フリーハンドドローイング 
 Pomodoro Timer - ポモドーロタイマー 
 Text Counter - 文字数カウント 
 Notepad - メモ帳 
 原稿用紙エディター 
 俳句・短歌下書きツール 
 ウィンドウサイズ 
 インターネット環境 
 タブを再び開く 
 Webページ最新状態 
 ページ内文字検索 
 スマホページ内検索 
 画像を加工する 
 Macでカラーコードを調べ 
 Mac用解凍ソフト 
 ショートカット 
 コピペの方法 
 右クリック禁止を回避 
 ローマ字かな入力変換表 
 ひらがな→ヘボン式ローマ字変換 
 ウェブページで長音ローマ字 
 ファイル差分チェック 
 音声合成 
 テキスト読み上げ 
 テキスト読み上げ書き方 
 全国公衆電話の場所 
 よく使う記号 
 キーボードの記号 
 キーボードの記号と入力方法 
 操作で使うキーの名称 
 CSSでカーソルを変える 
Sitemap Generator Language Table of Contents
 Japanese [日本語]  
 English [英語]  
 Korean [韓国語]  
 Simplified Chinese [简体中文]  
 Traditional Chinese [繁體中文]  
 Español [スペイン語]  
 Français [フランス語]  
 Português [ポルトガル語]  
 Arabic العربية [アラビア語]  
 Deutsch [ドイツ語]  
 Italiano [イタリア語]  
 Russian [ロシア語]  
 Turkish [トルコ語]  
 Hindi [ヒンディー語]  
 Vietnamese [ベトナム語]  
 Thai [タイ語]  
 Dutch [オランダ語]  
 Indonesian [インドネシア語]  
 Malay [マレー語]  
 Filipino [フィリピン語]  
 Swedish [スウェーデン語]  
 Norwegian [ノルウェー語]  
 Danish [デンマーク語]  
 Finnish [フィンランド語]  
 Polish [ポーランド語]  
 Czech [チェコ語]  
 Hungarian [ハンガリー語]  
 Greek [ギリシャ語]  
 Romanian [ルーマニア語]  

مولد خريطة الموقع XML
XML Sitemap Generator
انسخ الكود وقم بإنشاء البرنامج
XMLサイトマップのサンプル

* يجب تعديل "font-family" في البرنامج لتتناسب مع موقعك إذا لزم الأمر.
《 XML إنشاء خريطة الموقع كود PHP 》
الامتداد عند الحفظ هو ".php".

<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<meta charset="UTF-8">
<title>برنامج PHP لإنشاء خريطة الموقع XML</title>
<meta name="robots" content="NOINDEX,NOFOLLOW">
<!-- تحميل خطوط الأيقونات المجانية - يمكن حذفها في حالة عدم استخدامها -->
<link href="https://use.fontawesome.com/releases/v6.2.0/css/all.css" rel="stylesheet">
</head>
<body>
<h2>&nbsp;&nbsp;<i class="fa-regular fa-pen-to-square fa-2x" style="color: crimson"></i>&nbsp;إنشاء خريطة موقع XML</h2>
<hr>
<div style="margin:15px 5px 10px 20px;padding: 0 15px 0 0; font-size: 14px;background-color: lavenderblush; border: gray 1px solid; border-radius: 4px;">
<div style="margin:15px 0 0 20px">
    <form method="post">
        <input type="submit" name="downloadLocal" value="قم بتنزيل ملف XML محليًا" style="background-color: white;border-radius: 5px;cursor: pointer;">
    </form>
</div>
<ul>
<li>يحتوي ملف XML الذي تقوم بتنزيله من هنا على جزء من جزء HTML من الصفحة.</li>
<li>يرجى مشاهدته كمرجع وتنزيله من خادم بعيد إذا كنت بحاجة إلى ملف XML النقي. وبدلاً من ذلك، يرجى حذف جزء HTML من الملف الذي تم تنزيله.</li>
</ul>
</div>
<hr>
<?php
//************************************************
// برنامج PHP لتتبع عداد التنزيل وعارض تاريخ التنزيل
// [معرفة الجميع كتاب صغير مفيد للجميع]
// [みんなの知識 ちょっと便利帳]
// https://www.benricho.org/Tips/download_history/
// تاريخ النشر: 4 فبراير 2024
//************************************************ // فحص الخطأ/العيب // غير مطلوب لوظيفة إنشاء خريطة الموقع. إذا لم يتم استخدامه، قم بتغيير "1" إلى "0". أو حذف الكل // المستند الأصلي للبرمجة.الاكتساب التلقائي $sitemapDirectory = $_SERVER['DOCUMENT_ROOT']; // اسم ملف .xml (اسم الملف النهائي) // يمكنك تغيير اسم ملف .xml. ومع ذلك، تستخدم العديد من محركات البحث "sitemap.xml" كاصطلاح تسمية قياسي، ومن المستحسن استخدام "sitemap.xml". $finalSitemapFilename = 'sitemap.xml'; // مكان حفظ ملف خريطة الموقع (الدليل النهائي - الجذر) $finalSitemapPath = $sitemapDirectory . '/' . $finalSitemapFilename; // الدليل المستهدف لإنشاء خريطة الموقع $rootDirectory = $_SERVER['DOCUMENT_ROOT']; // اسم ملف .xml (اسم ملف مؤقت) $tempSitemapFilename = 'temporarysitemap.xml'; // موقع تخزين ملف خريطة الموقع (دليل مؤقت) $tempSitemapPath = $sitemapDirectory . '/' . $tempSitemapFilename; // أنشئ دليلاً مؤقتًا إذا لم يكن موجودًا $tempDirectory = dirname($tempSitemapPath); if (!file_exists($tempDirectory)) { mkdir($tempDirectory, 0777, true); } // احذف خريطة الموقع القديمة وأعد تسميتها إلى خريطة الموقع الجديدة (باستخدام أوامر shell) $oldSitemapFilename = 'old-' . $finalSitemapFilename; $oldSitemapPath = $sitemapDirectory . '/' . $oldSitemapFilename; // احذف خريطة الموقع القديمة إذا كانت موجودة if (file_exists($oldSitemapPath)) { unlink($oldSitemapPath); } // إعادة التسمية إلى خريطة الموقع الجديدة if (file_exists($tempSitemapPath)) { rename($tempSitemapPath, $oldSitemapPath); } // تحقق مما إذا تم النقر على زر التنزيل if (isset($_POST['downloadLocal'])) { // انسخ خريطة الموقع إلى الدليل المؤقت copy($finalSitemapPath, $tempSitemapPath); // تعيين الرأس للتنزيل header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . $finalSitemapFilename . '"'); header('Content-Length: ' . filesize($tempSitemapPath)); // ملف إلاخراج readfile($tempSitemapPath); // احذف خريطة الموقع المحفوظة في الدليل المؤقت بعد التنزيل unlink($tempSitemapPath); exit; } ///// إعدادات الاستبعاد ///// // الدلائل لاستبعادها. حدد فقط اسم الدليل المراد استبعاده. ['dir-1'، 'dir2'] وما إلى ذلك. // اتركه فارغًا إذا لم تكن هناك حاجة إليه. []; $excludeDirectories = []; // الملفات المراد استبعادها. حدد اسم الملف فقط. ['aaa.html'، 'bbb.php'] وما إلى ذلك. // اتركه فارغًا إذا لم تكن هناك حاجة إليه. []; $excludeFiles = []; // المجلدات/الملفات المطلوب استبعادها ['dir-1/dir1/file1.html', 'dir2/file2.php'] وما إلى ذلك. // لا تقم بتضمين "/" في بداية المسار المستبعد // اتركه فارغًا إذا لم تكن هناك حاجة إليه. []; $excludePaths = []; // استبعاد الملفات ذات العلامات الوصفية مثل ['NOINDEX'، 'NOFOLLOW'، 'REFRESH'] // اتركه فارغًا إذا لم تكن هناك حاجة إليه. []; // نوصي بتحديد ['NOINDEX'] $excludeMetaTags = ['NOINDEX']; ///// شروط إنشاء خريطة الموقع ///// // احصل على عنوان الصفحة (1: احصل عليه، 2: لا تحصل عليه) // * غير مستحسن في Google Search Console // *[مهم] عند التسجيل في Google Search Console، اضبطه على "2: لا تكتسب" // *إذا قمت بتعيين ``1: الحصول على''، فستعرض Google Search Console الرسالة ``لم يتم التعرف على علامة العنوان.'' سيظهر تنبيه يطلب منك إصلاحه. $getTitle = 2; // حدد السلسلة المراد إزالتها من عنوان الصفحة // * يمكن حذف الأحرف المحددة من العنوان. ['لا'، 'ديسو'] وما إلى ذلك. // اتركه فارغًا إذا لم تكن هناك حاجة إليه. []; $removeTitleStrings = []; // احصل على تاريخ آخر تحديث للملف (1: احصل عليه، 2: لا تحصل عليه) // * موصى به بواسطة Google Search Console $getLastMod = 1; // تردد تحديث الصفحة // * تم التجاهل/الإهمال بواسطة Google. يقول "لا تضيف قيم" // استخدم تردد تحديث الصفحة (1: استخدم، 2: لا تستخدم) $useChangeFreq = 2; // حدد عنصر تردد التحديث // إذا تم التعيين على "1"، فحدد عنصر تكرار تحديث الصفحة.['always', 'hourly', 'daily', 'weekly', 'monthly', 'yearly', 'never'] // العنصر دائمًا: يتم تحديثه في كل مرة يتم الوصول إليه،hourly: يتم تحديثه كل ساعة،daily: يتم التحديث يوميا،weekly: يتم تحديثه كل أسبوع،monthly: تحديث شهري،yearly: يتم تحديثه كل عام،never:لا تحدث $changefreqValues = ['حدد وأدخل القيمة التي تنطبق على تكرار تحديث الموقع']; // أولوية الصفحة // * تم التجاهل/الإهمال بواسطة Google. يقول "لا تضيف قيم" // الحصول على الأولوية (1: الحصول على، 2: عدم الحصول على) $getPriority = 2; // نص إنشاء خريطة الموقع $successMessage = "<p>- تم إنشاء ملف Sitemap XML.<br>・ Sitemap XML file has been generated.</p><p>- تم الحفظ في جذر الخادم البعيد باسم "{$finalSitemapFilename}".<br>- لأسباب أمنية، يرجى حذف ملف البرنامج من الخادم البعيد.</p><p>・<a href='/{$finalSitemapFilename}' target='_blank'>افتح "ملف XML" في المتصفح[علامة تبويب منفصلة]</a></p>"; // رأس XML لخريطة الموقع (للملف النهائي) $xmlFinal = <<<XML <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> XML; // معالجة الملفات في الدليل بشكل متكرر (للملف النهائي) function generateSitemap($directory, $excludeDirs, $excludeFiles, $getTitle, $removeTitleStrings, $getLastMod, $excludeMetaTags, $useChangeFreq, $changefreqValues, $getPriority, $excludePaths, &$xmlFinal) { $dir = new DirectoryIterator($directory); foreach ($dir as $fileInfo) { if ($fileInfo->isDot()) continue; $filename = $fileInfo->getFilename(); $filepath = $fileInfo->getPathname(); $fileExtension = pathinfo($filename, PATHINFO_EXTENSION); // تحقق مما إذا كان سيتم استبعاد الدليل/الملف $excludePath = str_replace($_SERVER['DOCUMENT_ROOT'], '', $filepath); if (in_array(ltrim($excludePath, '/'), $excludePaths)) { continue; } if ($fileInfo->isDir()) { if (in_array($filename, $excludeDirs)) { continue; } else { generateSitemap($filepath, $excludeDirs, $excludeFiles, $getTitle, $removeTitleStrings, $getLastMod, $excludeMetaTags, $useChangeFreq, $changefreqValues, $getPriority, $excludePaths, $xmlFinal); } } else { if (in_array($filename, $excludeFiles) || in_array($filename, $excludeDirs)) { continue; } if (in_array($fileExtension, ['html', 'php'])) { processFile($filepath, $getTitle, $removeTitleStrings, $getLastMod, $excludeMetaTags, $useChangeFreq, $changefreqValues, $getPriority, $xmlFinal); } } } } // معالجة الملف (للملف النهائي) function processFile($filepath, $getTitle, $removeTitleStrings, $getLastMod, $excludeMetaTags, $useChangeFreq, $changefreqValues, $getPriority, &$xmlFinal) { $content = file_get_contents($filepath); if (shouldExcludeContent($content, $excludeMetaTags)) { return; } $url = getRelativeUrl($filepath); // الإعداد بالتوقيت العالمي المنسق (UTC) - يوصى عمومًا باستخدام UTC (التوقيت العالمي المنسق) لعنصر في خريطة الموقع XML $lastMod = ($getLastMod == 1) ? getLastModifiedDateUTC($filepath) : ''; $xmlFinal .= "\n <url>"; $xmlFinal .= "\n <loc>{$url}</loc>"; if ($getTitle == 1) { $title = getTitleFromContent($content); if (!empty($title)) { $title = str_replace($removeTitleStrings, '', $title); $xmlFinal .= "\n <title>{$title}</title>"; } } // عرض تاريخ ووقت آخر تحديث if (!empty($lastMod)) { $xmlFinal .= "\n <lastmod>{$lastMod}</lastmod>"; } // changefreqيشير if ($useChangeFreq == 1) { $changefreq = $changefreqValues[array_rand($changefreqValues)]; $xmlFinal .= "\n <changefreq>{$changefreq}</changefreq>"; } // priorityيشير if ($getPriority == 1) { $priority = getPriorityFromDepth($filepath); $xmlFinal .= "\n <priority>{$priority}</priority>"; } $xmlFinal .= "\n </url>"; } // حساب الأولوية من عمق التسلسل الهرمي (للملف النهائي) function getPriorityFromDepth($filepath) { $depth = substr_count($filepath, DIRECTORY_SEPARATOR); return 1 - ($depth * 0.1); } // تحقق مما إذا كان يجب استبعاد العلامات الوصفية (للملف النهائي) function shouldExcludeContent($content, $excludeMetaTags) { foreach ($excludeMetaTags as $tag) { if (stripos($content, '<meta name="robots" content="' . $tag) !== false) { return true; } } return false; } ///// احصل على تاريخ ووقت التعديل الأخير للملف - يوصى عادةً باستخدام UTC (التوقيت العالمي المنسق) لعنصر <lastmod> في ملف Sitemap XML. // قم بتعيين تاريخ آخر تعديل بتنسيق UTC (التوقيت العالمي المنسق). يشير "+00:00" إلى UTC (التوقيت العالمي المنسق) function getLastModifiedDateUTC($filepath) { $lastModTimestamp = filemtime($filepath); $lastModDateTime = new DateTimeImmutable('@' . $lastModTimestamp); return $lastModDateTime->format('c'); } // احصل على العنوان من ملف HTML (للملف النهائي) function getTitleFromContent($content) { $dom = new DOMDocument; libxml_use_internal_errors(true); // قمع الأخطاء أثناء تحليل HTML $dom->loadHTML($content); $titleElements = $dom->getElementsByTagName('title'); if ($titleElements->length > 0) { $title = $titleElements->item(0)->textContent; return $title; } return ''; } // الحصول على عنوان URL للملف (للملف النهائي) function getRelativeUrl($filepath) { $relativeUrl = str_replace($_SERVER['DOCUMENT_ROOT'], '', $filepath); return $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['SERVER_NAME'] . str_replace('\\', '/', $relativeUrl); } // ابدأ في إنشاء خريطة الموقع (للملف النهائي) generateSitemap($rootDirectory, $excludeDirectories, $excludeFiles, $getTitle, $removeTitleStrings, $getLastMod, $excludeMetaTags, $useChangeFreq, $changefreqValues, $getPriority, $excludePaths, $xmlFinal); // تذييل خريطة الموقع (للملف النهائي) $xmlFinal .= "\n</urlset>"; // حفظ خريطة الموقع في الملف (الملف النهائي) file_put_contents($finalSitemapPath, $xmlFinal); // عرض رسالة النجاح (يظهر أنه تم إنشاء الملف النهائي) echo $successMessage; ?> <hr> <p style="margin-top: 20px"> <!-- قم بتعيين اسم الملف لبرنامج PHP هذا في العلامة <a>. الامتداد هو ".php" --> <a href="اسم الملف لهذا البرنامج.php" style="margin-left: 20px; text-decoration: none;"><i class="fa-solid fa-check" style="color: #005eff;"></i> إعادة إنشاء "ملف XML"&nbsp;&nbsp;<i class="fa-solid fa-rotate fa-spin fa-2x" style="color:crimson"></i>[إعادة تحميل الصفحة]</a> </p> <p> <!-- افتح "ملف XML" الذي تم إنشاؤه في المتصفح --> <a href='<?php echo '/' . $finalSitemapFilename; ?>' target='_blank' style='margin-left: 20px; text-decoration: none;'><i class="fa-solid fa-check" style="color: #005eff;"></i> افتح "ملف XML" في المتصفح&nbsp;&nbsp;<i class="fa-solid fa-chalkboard-user fa-beat-fade fa-2x" style="color:green"></i>[علامة تبويب منفصلة]</a> <div style="margin-left: 30px;font-size: 12px;color: gray">*إذا كان حجم الملف كبيرًا، فقد لا تتمكن من فتحه باستخدام متصفحك. إذا لم تتمكن من فتحه في متصفحك، يرجى تنزيل الملف ".xml" من خادم الويب والتحقق منه.</div> </p> <hr> <!-- تأكيد إضافة/تحديث خريطة موقع "Google". --> <p> <!-- قم بتعيين عنوان URL الخاص بك في العلامة <a> --> <a href="https://search.google.com/search-console/sitemaps?resource_id=عنوان URL الخاص بك" target="_blank" style="margin-left: 20px; text-decoration: none;"> <i class="fa-solid fa-check" style="color: #005eff;"></i>「<strong>Google</strong>」تأكيد إضافة/تحديث خريطة الموقع&nbsp;&nbsp;<i class="fa-solid fa-arrow-up-from-bracket fa-bounce fa-2x" style="color: #db0016;"></i></a> </p> <!-- 「Google Search Console」 --> <p> <!-- <a>قم بتعيين عنوان URL لصفحة "خريطة الموقع" الخاصة بـ Google Search Console التي قمت بتسجيلها في العلامة. --> <a href="https://search.google.com/search-console?resource_id=عنوان URL الخاص بك" target="_blank" style="margin-left: 20px; text-decoration: none;"><i class="fa-solid fa-check" style="color: #005eff;"></i>「<strong>Google Search Console</strong>」&nbsp;&nbsp;<i class="fa-solid fa-up-right-from-square fa-beat fa-2x" style="color: blue"></i></a> <div style="font-size: 13px; margin: 0 40px">*من المفترض أنك قمت بالتسجيل في "Google Search Console".</div> </p> <hr> <!-- 「Bing」تأكيد إعادة إرسال/تحديث خريطة الموقع --> <p> <!-- قم بتعيين عنوان URL لصفحة Bing "أدوات مشرفي المواقع" التي قمت بتسجيلها واسم ملف XML الذي قمت بتعيينه في العلامة <a>. يتطابق اسم الملف مع اسم الملف المعين في "$sitemapFilename" --> <a href="https://www.bing.com/webmasters/sitemaps?siteUrl=عنوان URL الخاص بك/&sitemap=عنوان URL الخاص بك/sitemap.xml" target="_blank" style="margin-left: 20px; text-decoration: none;"> <i class="fa-solid fa-check" style="color: #005eff;"></i>「<strong>Bing</strong>」تأكيد إعادة إرسال/تحديث خريطة الموقع&nbsp;&nbsp;<i class="fa-solid fa-arrow-up-from-bracket fa-bounce fa-2x" style="color: #db0016;"></i></a> </p> <!-- 「Bing webmaster Tools」 --> <p> <!-- قم بتعيين عنوان URL لصفحة Bing "أدوات مشرفي المواقع" التي قمت بتسجيلها في العلامة <a>. --> <a href="https://www.bing.com/webmasters/home?siteUrl=عنوان URL الخاص بك" target="_blank" style="margin-left: 20px; text-decoration: none;"> <i class="fa-solid fa-check" style="color: #005eff;"></i>「<strong>Bing webmaster Tools</strong>」&nbsp;&nbsp;<i class="fa-solid fa-up-right-from-square fa-beat fa-2x" style="color: blue"></i></a> <div style="font-size: 13px; margin: 0 40px">*من المفترض أنك قمت بالتسجيل في "أدوات مشرفي المواقع Bing" أو تم ربطك بـ "Google Search Console".</div> </p> <hr> <!-- اسم موقعك الخ. إذا كنت لا تريد تضمينه، يرجى حذفه. --> <h3 align="center"><i class="fa-solid fa-house" style="color: crimson"></i>&nbsp;اسم موقعك الخ&nbsp;<i class="fa-solid fa-house" style="color: crimson"></i></h3> <!-- لا تتردد في حذف --> <h4 align="center"><a href="https://www.benricho.org/" target="_blank" style="text-decoration: none;"><i class="fa-solid fa-house" style="color: blue"></i>&nbsp;みんなの知識 ちょっと便利帳&nbsp;<i class="fa-solid fa-house" style="color: blue"></i></h4> </body> </html>
وبهذا ينتهي كود PHP الخاص بمولد ملفات Sitemap XML.
نأمل أنه باستخدام هذا الرمز، ستتمكن من تمكين الزحف والفهرسة الدقيقة من محركات البحث، وأن يعمل موقعك بسلاسة.
هناك برامج مدفوعة تحتوي على ميزات متقدمة مثل التحديثات التلقائية، لكننا حاولنا توفير الحد الأدنى من الوظائف.
سنكون ممتنين لو تمكنت من إرسال انطباعاتك إلينا بعد استخدام خدمتنا. يرجى ملاحظة أننا غير قادرين على الإجابة على أسئلتك.
スポンサーリンク
スポンサーリンク

おすすめサイト・関連サイト…

スポンサーリンク
Last updated : 2024/06/29
 Copied ! 
 Click to Copy