22 ноября 2015, 21:30
Потребовалось мне недавно выкачать сайт из Интернет архива. И чтоб не руками каждый файлик, а то дюже их там много получалось.
А нормальной тулзы-то, как оказалось, для нас, криворуких похапэшников, и нет.
Какой-то дикий баш-скрипт, выкачивающий только 1 страницу — есть. Приличная версия на Руби есть. А PHP — нет. Беда 🙁 Может, искал плохо, может, карма не той системы — не знаю.
Сайт-то я в итоге выкачал. Но осадочек, как говорится, остался. И шило в одном месте проснулось. Поганая погода на выходных подсобила. Так что, встречаем первую версию WayBack downloader.
На данный момент оно умеет выкачивать последнюю версию сайта со всем содержимым, причём, тянутся все возможные сохранённые файлы. Выкачает всё что было сохранено.
php downloader.php -h http://example.com
Или только начиная с какой-то временной метки:
php downloader.php -h http://example.com -t 20060716231334
Опций пока не много:
-h, --host — адрес сайта -t, --timestamp — временная отметка в формате YYYYMMddhhmmss
На этом из плюшек всё. TODO длинный, так что фиксы и дополнения приветствуются.
Ну, и ссылки, как водится:
- репозиторий
- API
Вконтакте
- Печать
Страницы: [1] Вниз
Тема: Установка ruby 2.3.1 (Прочитано 915 раз)
0 Пользователей и 1 Гость просматривают эту тему.

Kepchuk
Прошу прощения за тех. безграмотность, нубство и тд. Проблема в следующем : нужно установить wayback machine downloader , но для его работы нужен ruby 2.3.1 или ниже , однако созерцаю сообщения о старой версии, крит ошибки … Подскажите, что делать? Очень нужно.

БТР
Kepchuk, какой дистрибутив? Как устанавливаете? Какие ошибки (точный текст) возникают при установке?

Kepchuk
На ubuntu 20.04 пытался . Пытался как -то , слишком сложный вопрос для того, у кого 2 часа опыта на линуксе в виде пары часов безуспешного копипаста комманд) Текст… Это сложно — не записывал , а повторить не могу тк снес машину . А можно проще? Как взять линукс любого дистрибутива ( какой подойдет ) , впаять туда то, что по теме ? 

БТР
Wayback Machine Downloader
Installation
sudo apt install ruby
sudo gem install wayback_machine_downloader

jurganov
Текст… Это сложно — не записывал , а повторить не могу тк снес машину .
не только записывать. а надо ГУГЛИТЬ по точному этому тексту ошибок

Kepchuk

andytux
Опыта у тебя уже поболее, а потому…
Как взять линукс любого дистрибутива ( какой подойдет )…
Ruby 2.3.* — это примерно 2016год.
Берешь *бунту 16.04, вот рядом человек устанавливает.
Чтобы проверить версию, будет-ли там работать твоя программа, необязательно даже устанавливать систему. Можно запустить ее из исо-образа, установить в нее твой руби, программу и проверить.
Можно и в твою систему «поставить Руби 2.3.1», примерно как описано здесь.

Kepchuk
Скачал 16.04 , а там уже руби нужный. Машина работает , скачивает :'( Всем спасибо за советы.
- Печать
Страницы: [1] Вверх
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Open
HWHAProb opened this issue
Jan 21, 2020
· 0 comments
Comments
Everytime I enter the following command:
wayback_machine_downloader "https://www.reddit.com/r/The_Donald/top/?sort=top&t=day" --from 2016 --to 2019 --directory D:DocumentsThesisArchive Backup
I receive this error:
Getting snapshot pages. found 1 snaphots to consider.
1 files to download:
https://www.reddit.com/r/The_Donald/top/?sort=top # websites/www.reddit.com/r/The_Donald/top/%3fsort%3dtop/index.html already exists. (1/1)
Download completed in 0.3s, saved in websites/www.reddit.com/ (1 files)
't' is not recognized as an internal or external command,
operable program or batch file.
As far as I know there should be roughly 60 files to consider, but it only saves an index file. Is there some error caused by my URL?
HWHAProb
changed the title
«‘t’ is not recognized as an internal or external command, operable program or batch file.
«‘t’ is not recognized as an internal or external command, operable program or batch file.»
Jan 21, 2020
1 participant
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Open
HWHAProb opened this issue
Jan 21, 2020
· 0 comments
Comments
Everytime I enter the following command:
wayback_machine_downloader "https://www.reddit.com/r/The_Donald/top/?sort=top&t=day" --from 2016 --to 2019 --directory D:DocumentsThesisArchive Backup
I receive this error:
Getting snapshot pages. found 1 snaphots to consider.
1 files to download:
https://www.reddit.com/r/The_Donald/top/?sort=top # websites/www.reddit.com/r/The_Donald/top/%3fsort%3dtop/index.html already exists. (1/1)
Download completed in 0.3s, saved in websites/www.reddit.com/ (1 files)
't' is not recognized as an internal or external command,
operable program or batch file.
As far as I know there should be roughly 60 files to consider, but it only saves an index file. Is there some error caused by my URL?
HWHAProb
changed the title
«‘t’ is not recognized as an internal or external command, operable program or batch file.
«‘t’ is not recognized as an internal or external command, operable program or batch file.»
Jan 21, 2020
1 participant
Загрузите весь веб-сайт с Internet Archive Wayback Machine.
Вам необходимо установить Ruby в вашей системе (> = 1.9.2) — если у вас его еще нет. Затем запустите:
gem install wayback_machine_downloader
Совет: Если вы столкнетесь с ошибками разрешений, вам, возможно, придется добавить sudo перед этой командой.
Далее находим в пуске — Start Command Prompt with Ruby и запускаем.
![]()
Основное использование
Запустите wayback_machine_downloader с базовым URL-адресом веб-сайта, который вы хотите получить в качестве параметра (например, http://example.com ):
wayback_machine_downloader http://example.com
Загрузка по умолчанию идет в папку %USERPROFILE%websites
Как это устроено
Он загрузит последнюю версию каждого файла, имеющегося на Wayback Machine, в ./websites/example.com/. Он также воссоздает структуру каталогов и автоматически создает index.htmlстраницы для бесперебойной работы с Apache и Nginx. Все загруженные файлы являются оригинальными, а не переписанными версиями Wayback Machine. Таким образом, структура URL-адресов и ссылок такая же, как и раньше.
Расширенное использование
Usage: wayback_machine_downloader http://example.com
Download an entire website from the Wayback Machine.
Optional options:
-d, --directory PATH Directory to save the downloaded files into
Default is ./websites/ plus the domain name
-s, --all-timestamps Download all snapshots/timestamps for a given website
-f, --from TIMESTAMP Only files on or after timestamp supplied (ie. 20060716231334)
-t, --to TIMESTAMP Only files on or before timestamp supplied (ie. 20100916231334)
-e, --exact-url Download only the url provied and not the full site
-o, --only ONLY_FILTER Restrict downloading to urls that match this filter
(use // notation for the filter to be treated as a regex)
-x, --exclude EXCLUDE_FILTER Skip downloading of urls that match this filter
(use // notation for the filter to be treated as a regex)
-a, --all Expand downloading to error files (40x and 50x) and redirections (30x)
-c, --concurrency NUMBER Number of multiple files to download at a time
Default is one file at a time (ie. 20)
-p, --maximum-snapshot NUMBER Maximum snapshot pages to consider (Default is 100)
Count an average of 150,000 snapshots per page
-l, --list Only list file urls in a JSON format with the archived timestamps, won't download anything
Укажите каталог для сохранения файлов
По желанию. По умолчанию Wayback Machine Downloader загружает файлы на, ./websites/за которым следует доменное имя веб-сайта. Вы можете захотеть сохранить файлы в определенном каталоге, используя эту опцию.
Пример:
wayback_machine_downloader http://example.com --directory downloaded-backup/
Все отметки времени
По желанию. Эта опция загрузит все временные метки / снимки для данного веб-сайта. Он будет использовать метку времени каждого снимка в качестве каталога.
Пример:
wayback_machine_downloader http://example.com --all-timestamps
Will download:
websites/example.com/20060715085250/index.html
websites/example.com/20051120005053/index.html
websites/example.com/20060111095815/img/logo.png
...
От отметки времени
По желанию. Вы можете указать временную метку from, чтобы заблокировать резервную копию для определенной версии веб-сайта. Метки времени можно найти внутри URL-адресов обычного веб-сайта Wayback Machine (например, https://web.archive.org/web/20060716231334/http://example.com ). Вы также можете использовать годы (2006), годы + месяц (200607) и т. Д. Его можно использовать в сочетании с To Timestamp. Затем Wayback Machine Downloader будет получать только версии файлов, начиная с указанной отметки времени или позже.
Пример:
wayback_machine_downloader http://example.com --from 20060716231334
К отметке времени
По желанию. Вы можете указать метку времени, чтобы заблокировать резервную копию для определенной версии веб-сайта. Метки времени можно найти внутри URL-адресов обычного веб-сайта Wayback Machine (например, https://web.archive.org/web/20100916231334/http://example.com ). Вы также можете использовать годы (2010), годы + месяц (201009) и т. Д. Его можно использовать в сочетании с отметкой времени «От». Затем программа Wayback Machine Downloader будет получать только версии файлов до указанной отметки времени или раньше.
Пример:
wayback_machine_downloader http://example.com --to 20100916231334
Точный URL
По желанию. Если вы хотите получить только файл, точно соответствующий указанному URL-адресу, вы можете использовать этот флаг. Это позволит избежать загрузки чего-либо еще.
Например, если вы хотите загрузить только html-файл домашней страницы example.com:
wayback_machine_downloader http://example.com --exact-url
Только URL-фильтр
По желанию. Вы можете получить файлы определенного типа (например, .pdf, .jpg, .wrd …) или находящиеся в определенном каталоге. Для этого вы можете указать --onlyфлаг со строкой или регулярным выражением (используя нотацию / regex /), чтобы ограничить количество файлов, загружаемых Wayback Machine Downloader.
Например, если вы хотите загружать файлы только внутри определенного my_directory:
wayback_machine_downloader http://example.com --only my_directory
Или, если вы хотите загрузить все изображения без чего-либо еще:
wayback_machine_downloader http://example.com --only "/.(gif|jpg|jpeg)$/i"
Исключить URL-фильтр
-x, --exclude EXCLUDE_FILTER
По желанию. Вы можете получить файлы, которые не относятся к определенному типу (например, .pdf, .jpg, .wrd …) или не находятся в определенном каталоге. Для этого вы можете указать --excludeфлаг со строкой или регулярным выражением (используя нотацию ‘/ regex /’), чтобы ограничить, какие файлы будет загружать Wayback Machine Downloader.
Например, если вы хотите избежать загрузки файлов внутри my_directory:
wayback_machine_downloader http://example.com --exclude my_directory
Или, если вы хотите скачать все, кроме изображений:
wayback_machine_downloader http://example.com --exclude "/.(gif|jpg|jpeg)$/i"
Расширить загрузку на все типы файлов
По желанию. По умолчанию Wayback Machine Downloader ограничивается файлами, которые ответили кодом 200 OK. Если вам также нужны файлы ошибок (коды 40x и 50x) или файлы перенаправления (коды 30x), вы можете использовать флаг --allили, -aи Wayback Machine Downloader загрузит их в дополнение к файлам 200 OK. Также будут сохранены пустые файлы, которые по умолчанию удаляются.
Пример:
wayback_machine_downloader http://example.com --all
Только список файлов без загрузки
Он просто отобразит файлы, которые нужно загрузить, с их временными метками и URL-адресами моментальных снимков. Формат вывода — JSON. Он ничего не скачивает. Это полезно для отладки или для подключения к другому приложению.
Пример:
wayback_machine_downloader http://example.com --list
Maximum number of snapshot pages to consider
-p, --snapshot-pages NUMBER
Optional. Specify the maximum number of snapshot pages to consider. Count an average of 150,000 snapshots per page. 100 is the default maximum number of snapshot pages and should be sufficient for most websites. Use a bigger number if you want to download a very large website.
Example:
wayback_machine_downloader http://example.com --snapshot-pages 300
Download multiple files at a time
Optional. Specify the number of multiple files you want to download at the same time. Allows one to speed up the download of a website significantly. Default is to download one file at a time.
Example:
wayback_machine_downloader http://example.com --concurrency 20
Using the Docker image
As an alternative installation way, we have a Docker image! Retrieve the wayback-machine-downloader Docker image this way:
docker pull hartator/wayback-machine-downloader
Then, you should be able to use the Docker image to download websites. For example:
docker run --rm -it -v $PWD/websites:/websites hartator/wayback-machine-downloader http://example.com
Contributing
Contributions are welcome! Just submit a pull request via GitHub.
Чтобы запустить тесты:
bundle install
bundle exec rake test
Как скачать и восстановить сайт из вебархива?
Содержание
- 1 Как скачать и восстановить сайт из вебархива?
- 1.1 Чем восстановить сайт из веб архива?
- 1.1.1 Устанавливаем утилиту для восстановления сайтов из archive.org
- 1.1.2 Запускаем выкачивание сайта из веб архива
- 1.1.3 Создание конфигурации nginx для восстановленного сайта
- 1.2 Как проверить сайт без смены DNS?
- 1.3 Очистка кода восстановленного сайта
- 1.3.1 Как удалить фрагменты html кода на множестве статических страниц?
- 1.4 Как массово редактировать тайтлы и другие элементы на статическом сайте?
- 1.5 Как перевести статический сайт с www на без www?
- 1.6 Как создать карту сайта sitemap.xml для статического сайта?
- 1.7 Как установить счётчик на все страницы статического сайта?
- 1.1 Чем восстановить сайт из веб архива?
Наткнулся на битую ссылку. Ссылка была на мануал по настройке бэкапов для сайта. Тема интересовала настолько, что полез в archive.org смотреть, что там за мануал такой. Там обнаружил блог человека, который когда-то занимался сайтостроительством, какими-то темами в интернете. Но видимо бросил всё это. Блог существовал до декабря 2013 года, потом еще год висела заглушка. Я возьми да и проверь домен сайта. Он оказался свободным. Дело в том, что меня интересовали подобные сайты давно, я время от времени захожу на telderi и присматриваю себе недорогой сайт IT-тематики для покупки. Пока ничего подходящего по цене/качеству не подобрал.
Зачем мне нужен такой сайт? Я вынашиваю план сделать что-то вроде слияния или поглощения. Соединить такой сайт, с вот этим. Чтобы увеличить на нем трафик и прочие ништяки. Кто-то скажет — а как же диверсификация? Безусловно, диверсификация — дело хорошее. Но тут ещё диверсифицировать пока нечего, нужно сначала что-нибудь развить. И вот, видится мне идея слияния сайтов очень перспективной.
Итак, это всё предыстория. Задумал я найденный сайт восстановить. Оказалось на нём около 300 страниц. Зарегистрировал домен и принялся разыскивать инструмент для выкачивания сайта.
Чем восстановить сайт из веб архива?
Процедура-то нехитрая. Бери и качай. Но дело осложняется тем, что страниц много, и все они будут в виде статических html-файлов. Вручную качать замучаешься. Стал спрашивать у людей, которые таким делом занимались. Люди посоветовали r-tools.org. Он оказался платным. Стал гуглить, поскольку я-то знаю, что это простая процедура, и платить за нее не хотелось, пусть и такую небольшую плату. Решение нашлось очень быстро в виде приложения на ruby. Как я и предполагал, всё очень просто, инструкция прилагается.
Устанавливаем утилиту для восстановления сайтов из archive.org
Недолго думая, устанавливаю всё на сервер и запускаю восстановление.
#устанавливаем руби:
apt-get install ruby
#Ставим сам инструмент:
gem install wayback_machine_downloader
Запускаем выкачивание сайта из веб архива

wayback_machine_downloader http://www.site.ru --timestamp 20131209110704
Здесь в опции timestamp можно указывать отметку снапшота. Поскольку сайт может иметь десятки или сотни снимков в веб-архиве. Я указываю последний, когда сайт был еще жив, логично. Утилита сразу же определяет количество страниц и выводит на консоль выкачиваемые страницы.
Все скачивается и сохраняется, получаем россыпь статических файлов в папке. Создаем у себя папку в нужном месте, и кладем туда выкачанные файлы. Я люблю использовать rsync:
rsync -avh ./websites/www.site.com/ /var/www/site.com/
Остается только создать конфигурацию в nginx, дождаться обновления dns.
Предлагаю!
Если вы не хотите вдаваться в подробности и вам просто нужно восстановить сайт с чисткой кода, заменой или установкой счётчиков или баннеров, рекламных кодов, у меня есть для вас предложение.
Восстановить сайт из вебархива всего за 500 рублей:
Ну а для тех, кто хочет много букв с непонятными командами и скриптами, разобраться и делать самостоятельно — продолжаем.
Создание конфигурации nginx для восстановленного сайта
Я делаю универсальный конфиг, с прицелом на будущее — обработку php. Возможно понадобится, если захочется оживить сайт и доработать фунционал, например формы отправки сообщений, подписки.
А вообще, минимальная конфигурация для статического сайта будет выглядеть примерно так:

server {
server_name site.ru www.site.ru *.site.ru;
root /var/www/site.ru;
index index.html;
gzip on;
gzip_disable «msie6»;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~* .(js|css|png|jpg|jpeg|gif|ico|woff)$ {
expires max;
log_not_found off;
}
}
Эта конфигурация заодно включает в себя настройки оптимизации для Google Pagespeed — сжатие и кэширование в браузере.
Перезапускаем вебсервер:
service nginx restart
Как проверить сайт без смены DNS?
В принципе можно ждать обновления dns после регистрации домена. Но хочется поскорее увидеть результат. Да и работу можно сразу начать. Для этого есть нехитрый способ — записать IP сервера для нужного домена в файл hosts, запись такого вида:
10.10.1.1 site.ru
После этого нужный сайт станет открываться исключительно у вас на компьютере.

Вот так. Чувствую себя некромантом 🙂

Сайт будет показываться ровно так, как видели его пользователи. Все ссылки будут работать, поскольку у вас есть все нужные файлы. Возможно какие-то из них будут битыми, где-то будет не хватать изображений, стилей или чего-нибудь ещё. Но это не суть важно — ведь самое главное для любого сайта — контент. А он, скорее всего, сохранится.
Очистка кода восстановленного сайта
Но это ещё не всё. Хотя можно и оставить в таком виде. Но чтобы добиться лучшего эффекта, есть смысл немного причесать восстановленный сайт. Это вообще самая сложная часть во всей этой затее. Дело в том, что раз сайт будет показываться так, как видели его пользователи, в коде страниц будет куча всевозможного мусора. Это в первую очередь реклама, баннеры и счётчики. Также какие-то элементы, которые на статическом сайте ни к чему. К примеру, ссылка для входа в админку сайта. Формы для отправки комментариев, подписки, какие-нибудь кнопки и другие элементы, доставшиеся в наследство от динамической CMS, на которой сайт работал раньше. В моём случае это был WordPress.
Как удалить фрагменты html кода на множестве статических страниц?
Как же это всё можно убрать? Очень просто. Смотреть в коде — и просто удалять ненужное. Легко сказать. Но страниц у нас несколько сотен. Поэтому тут нужна магия.

Удаляем сквозные элементы в коде статического сайта
Вот так я убираю ссылку «Вход» на всех html-файлах в указанной папке:
find ./site.ru/ -type f -name '*.html' -exec sed -i 's|<p id="top_info"> <a href="http://www.site.ru/wp-login.php">Вход</a></p>||g'
{} ;
Вот такой конструкцией можно убрать ВСЕ html-теги из файла. Самое простое. У вас тогда получатся текстовые файлы
sed -e 's/<[^>]*>//g' test.html
Нормальный подход, если вы просто качаете контент и потом будете использовать только полезное содержимое для чего-либо другого — для написания новых статей, для дорвеев, или чего-то ещё.
Но мне это не подходит, я хочу сначала воссоздать сайт полностью и посмотреть как он будет оживать и будет ли вообще. Поэтому работа по очистке кода занимает у меня пару часов кропотливой работы. Я открываю страницы сайта, отладчиком смотрю исходный код страниц, нахожу ненужные мне javascript, баннеры, счетчики, формы.
Вот так я убираю счетчик Liveinternet cо всех страниц моего статического сайта:
find site.ru/ -type f -name '*.html' -exec sed -i '/<!--LiveInternet counter-->/,/<!--/LiveInternet-->/d' {} ;
Вот так убираю подключение рекламного баннера:
find site.ru/ -type f -name '*.html' -exec sed -i 's|<link type="text/css" rel="stylesheet" href="http://mixmarket.biz/uni/partner.css">||g' {
} ;
Несмотря на конструкции, которые несведущему человеку могут показаться страшными — это довольно простые вещи, поскольку в этом счетчике есть уникальные теги-комментарии, по которым мы определяем часть кода для удаления, указав их в качестве паттернов.
В некоторых случаях приходится поломать голову, чтобы вырезать лишнее и не задеть нужное, ведь некоторые элементы могут повторяться на страницах. Например, для удаления счетчика Google Analytics пришлось сочинять вот такое:
Сначала удаляю строку <script type=»text/javascript»> с которой начинается счетчик. Эта команда удаляет строку над паттерном var gaJsHost, поскольку мне нужно удалить её только в этом месте и не трогать нигде больше:
find site.ru/ -type f -name '*.html' -exec sed -i -n '/var gaJsHost/{x;d;};1h;1!{x;p;};${x;p;}' {} ;
Теперь вырезаем остальную часть, которую становится легко идентифицировать по уникальным паттернам в первой и последней строках:
find site.ru/ -type f -name '*.html' -exec sed -i '/var gaJsHost/,/catch(err)/d' {} ;
Аналогичным образом я убираю форму добавления комментариев:
Зачищаю 4 строки с неуникальными закрывающими тегами после строки с уникальным паттерном:
find theredhaired.ru/ -type f -iname '*.html' -exec sed -i '/block_links/{N;N;N;N;s/n.*//;}' {} ;
А теперь вырезаю довольно большой блок строк на 30, указав уникальные паттерны его первой строки и последней:
find theredhaired.ru/ -type f -iname '*.html' -exec sed -i '/<h2> Подписка/,/block_links/d' {} ;
Вот эти последние пару случаев можно конечно попытаться выпилить с помощью мультистрочных паттернов, но я их так и не осилил, сколько не гуглил. Примеров с multi-line находил много, но они все простые, где нету спецсимоволов, escape-символов (табы, переводы строки).

Удаляем счётчики, баннеры и формы с восстановленного сайта
Возможно всю эту очистку будет проще сделать на php или даже perl, для которого обработка текста это предназначение. Но я, к сожалению, оными не владею, поэтому использую bash и sed.
Всё это я проделывал на отдельной копии сайта с кучей итераций, тестов, чтобы всегда была возможность откатить изменения я сохранял копии после каждого значительного изменения, опять же с помощью rsync.
Как массово редактировать тайтлы и другие элементы на статическом сайте?
Поскольку моя задача не просто воскресить сайт, а добиться его индексации, ранжирования в поиске и даже получения трафика из поиска — мне нужно подумать о каком-никаком SEO. Оригинальные тайтлы мне однозначно не подходят, поэтому я хочу их изменить. В наследие от WordPress досталась схема %sitename% » %postname%. Тем более sitename у нас невнятный — сам домен сайта. Самый простой вариант выпилить первую часть тайтла. Но это мне тоже не годится. Поэтому я поменяю эту часть тайтла на хитрый запрос. Вот так я это делаю:

Как видите, множество проверок и итераций. Но в итоге, тайтлы становятся такими, какими нужно. Можно догадаться, что я затеял попытку собирать на этот сайт трафик по запросам о восстановлении сайтов из веб архива. Зачем мне это нужно — я собираюсь оказывать платную услугу по восстановлению таких сайтов. Как видите, в данном случае довольно просто сделать замену. Можно было не заморачиваться несколькими вариантами, а подвести всё под один. Но мне захотелось убрать или поменять лишние символы, а раз уж вариантов оказалось несколько, то я и поменял их на несколько своих. Такое вот SEO.
Теперь я собираюсь добавить Яндекс Метрику во все html-файлы моего сайта. А заодно перевести его со старой схемы www на без www.
Как перевести статический сайт с www на без www?
Это делается простой заменой:
find ./ -type f -iname ‘*.html’ -exec sed -i ‘s/http://www.site.ru/http://site.ru/g’ {} ;
После чего на всякий случай в конфигурации nginx вынесем вариант с www в редирект:
server {
server_name www.site.ru;
return 301 $scheme://site.ru$request_uri;
}
Как создать карту сайта sitemap.xml для статического сайта?
Это понадобится, когда мы будем добавлять сайт в поисковые системы. Это очень важно, учитывая что наш сайт восстановленный, на нем возможно отстутствует какая-нибудь навигация, и на какие-то страницы вообще не будет ссылок. Карта сайта этот момент сглаживает — даже если переходом по самому сайту на страницу попасть нельзя — мы указав ее в sitemap.xml позволим её проиндексировать, что потенциально может привести трафик из поиска прямо на страницу.
Генерирую карту с помощью сервиса, который создаёт её из списка страниц. Как получить такой список? Всё оттуда же, из консоли:
find site.ru/ -type f -iname ‘*.html’|grep -v ‘site.ru/go|wp-login|wp-admin’|less
На выходе получаю чистенький список страниц и сразу же скармливаю его в сервис. Я тут при генерации списка исключил кое-какой мусор. go — это бывшие внешние ссылки ну и страницы админки, которые у нас всё равно закрыты в robots.txt.
Как установить счётчик на все страницы статического сайта?
Последний штрих. Я ведь собираюсь отслеживать свои успехи. Поэтому мне нужно обязательно добавить какой-нибудь счётчик. Я ставлю на свои сайты обычно и Google аналитику и метрику яндекса. Но работаю больше с метрикой, analytics пользуюсь изредка для специфичных вещей. Здесь же мне счетчик гугла вообще не понадобится, по крайней мере первое время.
Итак, чтобы добавить во все страницы счётчик метрики, я воспользовался способом с выносом кода счётчика в отдельный js-файл. Просто потому, что так будет проще добавить потом код его вызова на все страницы. Создал счётчик, и записал его код в metrika.js
Теперь добавляю строку с его вызовом на все страницы перед закрывающим тегом body:
find site.ru/ -type f -iname ‘*.html’ -exec sed -i ‘/</body>/i
<script type=»text/javascript» src=»/metrika.js»></script>’ {} ;
Теперь проверяю, везде ли установилось:
find site.ru/ -type f -iname ‘*.html’|xargs grep ‘metrika.js’|wc -l
173
И получаю неприятный сюрприз — установлено не везде. Около сотни страниц упущено. Это могло произойти только в том случае, если в каких то файлах нету тега </body>. Смотрим:
find site.ru/ -type f -iname ‘*.html’|xargs grep -L ‘</body>’|wc -l
119
Как раз в 119 файлах этого тега нету. Это совсем плохо, видимо на каком то из этапов по очистке что-то пошло не так, и был срублен этот тег. Можно конечно выяснить когда это случилось и откатиться до того момента, но это куча работы. Поэтому я просто добавлю в эти файлы недостающие теги, и потом таки добавлю счётчик.
find site.ru/ -type f -iname '*.html'|xargs grep -L '</body>'|xargs sed -i '$ i
> </body></html>'
Я делаю это одной строкой, чтобы указать паттерном именно теги в паре. Иначе, если я воспользуюсь для добавления счётчика той же командой, что я уже сделал — то я продублирую вызов счётчика там, где он уже есть. Чтобы этого избежать можно конечно удалить строку там где она есть и потом добавить её снова, но я просто укажу спаренный тег в виде паттерна и добавлю только в те файлы. Вот так:
find site.ru/ -type f -iname '*.html' -exec sed -i '/</body></html>/i
> <script type="text/javascript" src="/metrika.js"></script>' {} ;
Проверяю снова:
find theredhaired.ru/ -type f -iname '*.html'|xargs grep 'metrika.js'|wc -l
266
Ну вот, 266 из 290 это уже лучше 🙂 Там оказалось еще что 30 страниц не попали под какой-то из скриптов из-за кривых имен с вопросительными знаками. Я думаю мне достаточно и тех что есть 🙂
Что дальше?
Дальше мне пришла в голову мысль заточить имеющуюся на сайте страницу об услугах под предложение восстановления сайтов из веб архива.

Вот что получилось после очистки и правки страницы под свои нужды
Кроме того, через некоторое время я проведу анализ результатов, которых я достиг с этим сайтом. Трафик, лиды или что-то ещё. Так что, следите за обновлениями на сайте, через 2-6 месяцев вы увидите продолжение истории. Покажу стату, если таковая будет и т. д. Если вы читаете эту статью спустя полгода, а ссылки на продолжение до сих пор нет — напомните мне об этом в комментариях, пожалуйста 🙂
Разобрались, не?
Если вы прониклись, во всём разобрались и собираетесь делать самостоятельно — низкий вам поклон и уважуха. Мне нравятся люди, которые хотят во всём разобраться и постичь.
Если же вы кроме хаоса в мыслях ничего не испытываете после прочтения, а решить задачу надо, я отношусь со столь же большим уважением к тем, кто умеет находить профессионалов и просто делегировать свои задачи 🙂
Позвольте мне стать богаче на 500 рублей от решения вашей задачи 🙂
I’m trying to run a ruby gem command called wayback-machine-downloader from R using the shell command:
shell(ruby_call)
but I get the following error messages:
‘wayback_machine_downloader’ is not recognized as an internal or external command, operable program or batch file.
Warning messages:
1: running command ‘C:WINDOWSsystem32cmd.exe /c wayback_machine_downloader https://undergroundreptiles.com/ —directory C:/Users/oliver/websites/underground_19981212033710 —from 19981212033710 —concurrency 200’ had status 1
2: In shell(ruby_call) :
‘wayback_machine_downloader https://undergroundreptiles.com/ —directory C:/Users/oliver/websites/underground_19981212033710 —from 19981212033710 —concurrency 200’ execution failed with error code 1`
When I run the exact same code directly from the command line it runs perfectly. Is there some setting I need to change in R/RStudio?
I also tried the system command, but that doesn’t work either:
system(ruby_call)
Warning message:
running command ‘wayback_machine_downloader https://undergroundreptiles.com/ —directory C:/Users/oliver/websites/underground_19981212033710 —from 19981212033710 —concurrency 200’ had status 127 `