Утилита, чтобы автоматом прописать канонические ссылки

ИУ
На сайте с 02.03.2015
Offline
4
608

Здравствуйте,

проблема такая: есть статичный сайт, страниц много и нужно прописать во всех файлах канонические ссылки. Руками не осилить. Грубо говоря нужно как-то прописать внутри тега head каждого файла, имя этого самого файла. А дальше дело техники. Может кто подскажет как это сделать? Был бы очень благодарен.

Злобный Гыук
На сайте с 30.08.2007
Offline
83
#1
Из Уганды:
Здравствуйте,
проблема такая: есть статичный сайт, страниц много и нужно прописать во всех файлах канонические ссылки. Руками не осилить. Грубо говоря нужно как-то прописать внутри тега head каждого файла, имя этого самого файла. А дальше дело техники. Может кто подскажет как это сделать? Был бы очень благодарен.

Заказать у прогера скрипт, который все это будет делать. Баксов за 10.

SEO-api для программистов (/ru/forum/869285)
ИУ
На сайте с 02.03.2015
Offline
4
#2
Злобный Гыук:
Заказать у прогера скрипт, который все это будет делать. Баксов за 10.

Да, это как вариант, если никакой софтинки не найдётся

AP
На сайте с 12.06.2015
Offline
74
#3
Из Уганды:
Да, это как вариант, если никакой софтинки не найдётся

Если я правильно понял, это делается за 5 минут на коленке:

Скрипт на php.

1. Открываем поочередно каждый файл.

2. Добавляем в него (в нужное место) мета-тэг с именем файла.

3. Сохраняем его обратно.

Злобный Гыук
На сайте с 30.08.2007
Offline
83
#4
A007MP:
Если я правильно понял, это делается за 5 минут на коленке:

Скрипт на php.
1. Открываем поочередно каждый файл.
2. Добавляем в него (в нужное место) мета-тэг с именем файла.
3. Сохраняем его обратно.

во набросок, листинг файлов скопировал с пхпнет, набросал от руки, не тестировал если чо:

(вместо <filename=$file> подставить тег котрый нужен)

foreach (directoryToArray('/.', true) as $file) {

if (is_file($file)) {

file_put_contents($file, str_replace(file_get_contents($file), '</head>', "<filename=$file>\n</head>"));

}

}

function directoryToArray($directory, $recursive) {

$array_items = array();

if ($handle = opendir($directory)) {

while (false !== ($file = readdir($handle))) {

if ($file != "." && $file != "..") {

if (is_dir($directory. "/" . $file)) {

if($recursive) {

$array_items = array_merge($array_items, directoryToArray($directory. "/" . $file, $recursive));

}

$file = $directory . "/" . $file;

$array_items[] = preg_replace("/\/\//si", "/", $file);

} else {

$file = $directory . "/" . $file;

$array_items[] = preg_replace("/\/\//si", "/", $file);

}

}

}

closedir($handle);

}

return $array_items;

}

ИУ
На сайте с 02.03.2015
Offline
4
#5
Злобный Гыук:
во набросок, листинг файлов скопировал с пхпнет, набросал от руки, не тестировал если чо:
(вместо <filename=$file> подставить тег котрый нужен)

foreach (directoryToArray('/.', true) as $file) {
if (is_file($file)) {
file_put_contents($file, str_replace(file_get_contents($file), '</head>', "<filename=$file>\n</head>"));
}
}

function directoryToArray($directory, $recursive) {
$array_items = array();
if ($handle = opendir($directory)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if (is_dir($directory. "/" . $file)) {
if($recursive) {
$array_items = array_merge($array_items, directoryToArray($directory. "/" . $file, $recursive));
}
$file = $directory . "/" . $file;
$array_items[] = preg_replace("/\/\//si", "/", $file);
} else {
$file = $directory . "/" . $file;
$array_items[] = preg_replace("/\/\//si", "/", $file);
}
}
}
closedir($handle);
}
return $array_items;
}

Вообщето я чайник в этом деле. Я правильно понял, что нужно из этого кода сделать php скрипт, разместить его на сайте и подключить его к html файлу в том месте где должен быть rel=canonical? Сайт на narode, если что...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий