Он виртуальный, физически на сервере не создаётся, роботы его видят, по-ссылке карта открывается, что ещё нужно?
[3.2]SEO Sitemap
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB 2.0.12
- Сообщения: 871
- Стаж: 14 лет 6 месяцев
- Откуда: Оттуда
- Благодарил (а): 53 раза
- Поблагодарили: 92 раза
Re: [3.2]SEO Sitemap
-
- phpBB 1.4.4
- Сообщения: 119
- Стаж: 5 лет 2 месяца
- Благодарил (а): 52 раза
- Поблагодарили: 9 раз
Re: [3.2]SEO Sitemap
Собственно больше ничего, именно такое разъяснение, благодарю Perfecthus!Perfecthus писал(а): 03.02.2020 23:04 Он виртуальный, физически на сервере не создаётся, роботы его видят, по-ссылке карта открывается, что ещё нужно?

-
- phpBB 2.0.4
- Сообщения: 445
- Стаж: 7 лет 8 месяцев
- Благодарил (а): 92 раза
- Поблагодарили: 27 раз
Re: [3.2]SEO Sitemap
Re: [3.1][3.2][release] SEO Meta Description
Продолжение темы, а как собственно добавить главную страницу форума в эту карты, поковырял, не получилось.
Продолжение темы, а как собственно добавить главную страницу форума в эту карты, поковырял, не получилось.
-
- phpBB 1.4.4
- Сообщения: 166
- Стаж: 8 лет 11 месяцев
- Откуда: Караганда
- Благодарил (а): 15 раз
- Поблагодарили: 14 раз
Re: [3.2]SEO Sitemap
ciiz1, Главную страницу любого сайта включать в Sitemap не нужно, потому что о её сущестсвовании робот знает и так, раз уж он добрался до карты. То есть, и без всякой карты само собой понятно, что пользователь (или бот), зайдя на сайт, попадает на главную его страницу или будет туда перенаправлен редиректом. Для этого не нужно никаких карт.
-
- phpBB 2.0.4
- Сообщения: 445
- Стаж: 7 лет 8 месяцев
- Благодарил (а): 92 раза
- Поблагодарили: 27 раз
Re: [3.2]SEO Sitemap
Это ясно, но протекционист во мне не дремлет, в теории никто не запрещает делать сайты без главной страницы, да и поддоменены бывают.
Да и дословно Ваши слова
Тут же запрещается индексировать всю страницу, которая:
а) отсутствует в списке Sitemap;
Да и дословно Ваши слова
Тут же запрещается индексировать всю страницу, которая:
а) отсутствует в списке Sitemap;
-
- phpBB 1.4.4
- Сообщения: 166
- Стаж: 8 лет 11 месяцев
- Откуда: Караганда
- Благодарил (а): 15 раз
- Поблагодарили: 14 раз
Re: [3.2]SEO Sitemap
Там суть была в обратном направлении: что если страница отсутствует в Sitemap, то Google не будет ругаться, если я запрещу ему индексировать её.
А невключение страницы в Sitemap никак не вредит этой странице. Главное, чтобы не было разногласий.
Ну и главная страница - особенное. Не нужно её в Sitemap совершенно точно.
А невключение страницы в Sitemap никак не вредит этой странице. Главное, чтобы не было разногласий.
Ну и главная страница - особенное. Не нужно её в Sitemap совершенно точно.
-
- phpBB 1.4.4
- Сообщения: 166
- Стаж: 8 лет 11 месяцев
- Откуда: Караганда
- Благодарил (а): 15 раз
- Поблагодарили: 14 раз
Re: [3.2]SEO Sitemap
Долго использовал расширение от Shredder, и всё было хорошо, но когда перевалило за 40 тыс страниц, на создание карты стало уходить больше двух минут. Яндекс столько ждать отказывается. Пришлось поверх расширения нарисовать PHP-скрипт, который запускался из cron и уже в нём запрашивалась страница
Перечитав и перепробовав всякого про Sitemap я понял, что все эти приоритеты, периоды обновления и время создания страниц не учитываются ни Гуглом, ни Яндексом, а с других поисковиков новых пользователей ждать не приходится. А значит XML тут вот совершенно лишний. Потырклся, поискал другие расширения, но они ещё сложнее, и везде XML.
В итоге написал свой PHP, который выбирает данные напрямую из базы, работает 0.1 секунд, создаёт текстовые файлы .TXT со списком страниц разделов и тем. Ну и добавил туда сразу главную страницу форума, хоть она совсем и не обязательна.
Как ни странно, писалось легко несложно, подглядывал в index.php и viewtopic.php - как там чего сделано. К версиям не привязано, если имена столбцов в базе не поменяются. Тут такое, наверное, нельзя публиковать, да? Ну в общем, у кого форум вырос, проще написать новую PHP, чем замудряться всякими расширениями. Для маленьких и начинающих, конечно, расширение установить проще.
app.php/sitemap.xml
, сохранялась в корневую папку форума как файл, и туда же копировались файлы sitemap-X.xml. И это, конечно, выход, но и его изящным не назовёшь.Перечитав и перепробовав всякого про Sitemap я понял, что все эти приоритеты, периоды обновления и время создания страниц не учитываются ни Гуглом, ни Яндексом, а с других поисковиков новых пользователей ждать не приходится. А значит XML тут вот совершенно лишний. Потырклся, поискал другие расширения, но они ещё сложнее, и везде XML.
В итоге написал свой PHP, который выбирает данные напрямую из базы, работает 0.1 секунд, создаёт текстовые файлы .TXT со списком страниц разделов и тем. Ну и добавил туда сразу главную страницу форума, хоть она совсем и не обязательна.
Как ни странно, писалось легко несложно, подглядывал в index.php и viewtopic.php - как там чего сделано. К версиям не привязано, если имена столбцов в базе не поменяются. Тут такое, наверное, нельзя публиковать, да? Ну в общем, у кого форум вырос, проще написать новую PHP, чем замудряться всякими расширениями. Для маленьких и начинающих, конечно, расширение установить проще.
-
- phpBB 1.4.4
- Сообщения: 166
- Стаж: 8 лет 11 месяцев
- Откуда: Караганда
- Благодарил (а): 15 раз
- Поблагодарили: 14 раз
Re: [3.2]SEO Sitemap
Да, поддерживают, проверено и в инструменте проверки Sitemap Яндекса, и потом когда смотришь отчёт об индексировании конкретной страницы в Гугле, он пишет, что нашёл в sitemap.txt и т.д. Ну и в документации у них тоже написано:
Google писал(а):Если в файле Sitemap есть только адреса страниц, вы можете отправить Google обычный текстовый файл с этими URL (по одному в каждой строке). Пример:
http://www.example.com/file1.html
http://www.example.com/file2.html
Рекомендации по текстовым файлам Sitemap
Необходимо использовать кодировку UTF-8.
Файл не должен содержать ничего, кроме списка URL.
Этому текстовому файлу можно дать любое имя, но необходимо использовать расширение .txt (например, sitemap.txt).
https://support.google.com/webmasters/a ... 3668?hl=ru
Пробовал и многофайловый Sitemap, когда в головном указывается только список других мапов - тоже работает правильно, никто не ругается.Яндекс писал(а):TXT
Используйте этот формат, чтобы сообщить только об адресах страниц.
Пример:
https://www.example.com/page1.html
https://www.example.com/page2.html
https://yandex.ru/support/webmaster/con ... temap.html
-
- Former team member
- Сообщения: 933
- Стаж: 18 лет 2 месяца
- Откуда: BeBoss.ru
- Благодарил (а): 2 раза
- Поблагодарили: 10 раз
Re: [3.2]SEO Sitemap
Понял, спасибо.
Я у себя использую многофайловый в формате xml, тоже в поисковиках работает без проблем.
Буду иметь в виду возможность использования txt
Я у себя использую многофайловый в формате xml, тоже в поисковиках работает без проблем.
Буду иметь в виду возможность использования txt
-
- phpBB 3.0.6
- Сообщения: 2369
- Стаж: 13 лет
- Откуда: Одесса
- Благодарил (а): 620 раз
- Поблагодарили: 149 раз
Re: [3.2]SEO Sitemap
Так поделитесь.Kuskow писал(а): 18.06.2020 14:13 В итоге написал свой PHP, который выбирает данные напрямую из базы, работает 0.1 секунд, создаёт текстовые файлы .TXT со списком страниц разделов и тем. Ну и добавил туда сразу главную страницу форума, хоть она совсем и не обязательна.
-
- phpBB 1.4.4
- Сообщения: 166
- Стаж: 8 лет 11 месяцев
- Откуда: Караганда
- Благодарил (а): 15 раз
- Поблагодарили: 14 раз
Re: [3.2]SEO Sitemap
Я не знаю, можно ли тут такое размещать. А правила читать лень, как всегда. А так как давно тут не участвовал, всех веяний не уследил.
-
- phpBB 1.4.4
- Сообщения: 166
- Стаж: 8 лет 11 месяцев
- Откуда: Караганда
- Благодарил (а): 15 раз
- Поблагодарили: 14 раз
Re: [3.2]SEO Sitemap
Публикую текст, а не файл, чтобы
Скрипт создаёт один файл sitemap.txt, если ссылок в нём не более заданного максимума. А если больше, то все ссылки размещаются в файлах sitemap-1.txt, sitemap-2.txt, ... Тогда в головном sitemap.txt только их оглавление. Все эти файлы записываются туда же, где будет находиться этот скрипт.
Не уверен, что правильно будет записан параметр, когда форум находится не в корне сайта, а в папке.
P.S. Любая критика будет полезной.
имя_файла.php
придумали сами. Искренне не рекомендую называть его одинаково (например, sitemap.php) и запускать из браузера. Если запускаете из браузера, а затем решите им пользоваться, то переименуйте этот PHP, и добавьте задание в CRON. Это для того, чтобы боты никогда сами не обращались к этому скрипту, а брали только созданными им файлы *.txtСкрипт создаёт один файл sitemap.txt, если ссылок в нём не более заданного максимума. А если больше, то все ссылки размещаются в файлах sitemap-1.txt, sitemap-2.txt, ... Тогда в головном sitemap.txt только их оглавление. Все эти файлы записываются туда же, где будет находиться этот скрипт.
Не уверен, что правильно будет записан параметр, когда форум находится не в корне сайта, а в папке.
Код: Выделить всё
<?php
// Создание текстовых файлов Sitemap для форума phpBB
// Этот PHP-скрипт должен находиться там же, где и config.php, результирующие файлы записываются в ту же директорию
// Перед запуском установить Настроечные константы (см. ниже)
error_reporting(E_ALL);
set_time_limit(30) or die('set_time_limit');
function getconfig ($config_name) // Получение параметра из конфигцрации базы данных
{
global $db, $table_prefix;
$query = "SELECT config_value FROM {$table_prefix}config WHERE config_name='$config_name'";
$result = mysqli_query($db,$query) or die("ERROR: $query");
list($config_value) = mysqli_fetch_row($result) or die("mysqli_fetch_row config");
mysqli_free_result($result);
return $config_value;
};
function puturl ($url) // Добавление одного URL в стек
{
global $urls_per_file, $maps, $xmap, $ymap, $host; // глобальные переменные будут изменены
if ($xmap == $urls_per_file) // Очередной файл заполнен, начинаем следующий
{
file_put_contents(__DIR__.'/sitemap-'.++$ymap.'.txt',$maps); // Записываем очередной файл
$xmap = 0;
$maps = '';
};
$xmap++;
$maps .= "$host$url\n";
};
// Открываем базу данных;
include(__DIR__.'/config.php');
$db = mysqli_connect($dbhost,$dbuser,$dbpasswd,$dbname) or die('Ошибка открытия базы данных');
// Настроечные константы
$forums_disallow = '24,25'; // Список закрытых форумов через запятую, которые не попадут в Sitemap или пустая строка
$urls_per_file = 50000; // Максимальное количество адресов в одном файле Sitemap, не более 50000
$topics_per_page = getconfig('topics_per_page'); // Сколько тем на странице форума
$posts_per_page = getconfig('posts_per_page'); // Сколько сообщений на странице темы
$host = getconfig('server_protocol').getconfig('server_name').getconfig('script_path'); // Адрес форума
// Начальные значения счётчиков и накопительных переменных
$maps = "$host\n"; // Первый элемент в Sitemap - стартовая страница
$xmap = 1; // счётчик URL в файле (один там уже есть)
$ymap = 0; // Счётчик файлов
// Формируем список страниц для форумов
$query = "SELECT forum_id,forum_topics_approved FROM {$table_prefix}forums ".($forums_disallow ? "WHERE forum_id NOT IN ($forums_disallow)" : "")." ORDER BY forum_id";
$result = mysqli_query($db,$query) or die("Error: $query");
while (list($fid,$fta) = mysqli_fetch_row($result)) // По всем найденным форумам
{
puturl($url = "viewforum.php?f=$fid"); // URL начальной страницы форума
for ($start=$topics_per_page; $start < $fta; $start+=$topics_per_page) // Перечень тем в форуме на несколько страниц
puturl("$url&start=$start");
};
mysqli_free_result($result); // Освобождаем память, занятую результатами запроса
// Формируем список страниц для тем
$query = "SELECT forum_id,topic_id,topic_posts_approved FROM {$table_prefix}topics WHERE topic_posts_approved AND NOT topic_moved_id ".($forums_disallow ? "AND forum_id NOT IN ($forums_disallow)" : "")." ORDER BY topic_id";
$result = mysqli_query($db,$query) or die("Error: $query");
while (list($fid,$tid,$tpa) = mysqli_fetch_row($result)) // По всем темам
{
puturl($url = "viewtopic.php?t=$tid"); // URL начальной страницы темы
for ($start=$posts_per_page; $start<$tpa; $start+=$posts_per_page) // В теме несколько страниц
puturl("$url&start=$start");
};
mysqli_free_result($result); // Освобождаем память, занятую результатами запроса
// Записываем остатки стека в файл
if ($ymap) // Как минимум один файл уже записан, значит их будет несколько
{
$xmap = $urls_per_file;
puturl(''); // Записываем остатки в очередной файл
$i = 0;
$maps = '';
while (++$i <= $ymap) $maps.="{$host}sitemap-$i.txt\n"; // Накапливаем оглавдение в стеке
};
file_put_contents(__DIR__."/sitemap.txt",$maps);
mysqli_close($db); // Закрываем базу данных
P.S. Любая критика будет полезной.
-
- phpBB 3.1.0 RC3
- Сообщения: 3343
- Стаж: 13 лет 3 месяца
- Благодарил (а): 675 раз
- Поблагодарили: 164 раза
Re: [3.2]SEO Sitemap
Kuskow, Не совсем понимаю, там можно разбить карту по странично, у меня 43000 страниц, они разбиты на три карты по 20000, все через расширение