« 上一篇下一篇 »

如何通过GitLab 或GitHub Pages 来复制出一个 WordPress 博客镜像站点

    WordPress想必做博客的朋友一定是很了解,之所以能成为目前最具人气的独立博客程序,除了无数爱好者为它开发的主题外,源源不断的插件支持也是重要的原因之一。wordpress的强大,也是在于无数爱好者源源不断的主题和插件。

    多年前,我为一个工作组成员建立了一个 WordPress的 博客。而现如今有很多选择,但是当时如果你需要一个带有所见即所得的编辑器的基于 Web 的 CMS,那么就没什么像样的的选择了。而一切运行良好的不幸的副作用是随着时间的推移该博客产生了很多内容。这意味着我要经常更新 WordPress 以防止不断出现的漏洞。

       因此,当我决定劝说家人切换到 Hugo 会相对容易,然后可以在 GitLab 上托管博客。但是尝试提取所有内容并将其转换为 Markdown 变成了一个巨大的麻烦。有自动脚本完成了 95% 的工作,但并不完美。手动更新所有帖子不是我想做的事情,所以最终,我放弃了试图移动博客。
最近,我又开始考虑这个问题,并意识到有一个我没有考虑过的解决方案:我可以继续维护 WordPress 服务器,但将其设置为发布静态镜像,并使用 GitLab Pages (或 GitHub Pages ,如果你喜欢的话)提供服务。这能让我自动化 Let’s Encrypt 证书续订并消除与托管 WordPress 站点相关的安全问题。然而,这意味着评论将无法使用,但在这种情况下感觉就像是一个小损失,因为博客没有收到很多评论。
这是我提出的解决方案,到目前为止似乎运作良好:
这是我使用的两个脚本:
check-diff.sh (cron 每 15 分钟调用一次):
#!/bin/bash
ORIGINDATE="$(curl -v --silent http://private.localconspiracy.com/feed/ 2>&1|grep lastBuildDate)"
PUBDATE="$(curl -v --silent https://www.localconspiracy.com/feed/ 2>&1|grep lastBuildDate)"
if [ "$ORIGINDATE" != "$PUBDATE" ]
then
/home/doc/repos/localconspiracy/mirror.sh
fi
mirror.sh:
#!/bin/sh
cd /home/doc/repos/localconspiracy
wget \
--mirror \
--convert-links \
--adjust-extension \
--page-requisites \
--retry-connrefused \
--exclude-directories=comments \
--execute robots=off \
http://private.localconspiracy.com
git rm -rf public/*
mv private.localconspiracy.com/* public/.
rmdir private.localconspiracy.com
find ./public/ -type f -exec sed -i -e 's|http://private.localconspiracy|https://www.localconspiracy|g' {} \;
find ./public/ -type f -exec sed -i -e 's|http://www.localconspiracy|https://www.localconspiracy|g' {} \;
git add public/*
git commit -m "new snapshot"
git push origin master
   智能手机与台式机或笔记本电脑的互动是非常不同的。有很多因素,如触摸屏的移动,更小的屏幕尺寸和显示分辨率,进入图片。除了这个,你的网站应该优化,以减少数据访问时,在智能手机或平板电脑上。因此,您必须为最佳的浏览和智能手机导航网站代码。如果你的网站在平板电脑或手机上花了太长时间,人们就不会去访问它了。所以即使你花了大量的时间和资源来为你的网站创建内容,用户体验是非常重要的,所以兼容主流设备才能建设好WordPress 博客,提升博客流量。