我能否将我的WordPress博客托管在GitHub Pages上作为静态网页?

42

我想将我的WordPress博客安装在本地主机上,然后将其推送到GitHub并在GitHub上作为静态页面运行。我能做到吗?如果可以,请详细说明涉及的步骤和问题。

我不介意我的页面是静态的,但我能够在GitHub Pages上托管它吗?

7个回答

27

在这个设置中,内容是如何更新的?用户是否可以转到管理页面,还是他们需要将存储库克隆到本地计算机,更新内容,然后推送到源? - Edward
1
你只需要在本地(免费)或服务器上安装WordPress插件。接下来,让它生成包含所有静态文件的zip文件。解压缩它,提交到git并推送到适当的GitHub分支。如果按照指南操作,一切都会正常工作。请记住,像搜索这样的动态非JavaScript内容将停止工作。如果您想要更新,请在WordPress安装中进行更新,然后再次导出并重复步骤。您可以覆盖旧文件,git会检测到更改。 - Christoph
是的,但我说的是一个用户只能使用所见即所得编辑器的系统。他们不会安装本地的WordPress并设置Git。 - Edward
如果您在服务器上安装了WordPress,可以创建一个bash脚本和一个定时任务来自动解压缩导出文件,替换文件夹并提交和推送到Git。这样,您可以设置每小时同步一次,而无需进行任何设置。 - Christoph
Simply Static不支持定时任务,您有这个bash脚本的示例/文档吗?我不是后端人员,所以需要了解如何执行此操作的步骤。如果没有这些步骤,那么对我来说就像[图片链接]中的剩余部分一样难以理解。 - Edward
由于脚本取决于您的服务器环境,因此无法真正帮助您。如果您没有任何bash /后端知识,我不建议您选择这条路。为什么您的客户想要一个静态的WordPress?也许安装一个良好的缓存插件以获得适当的网站速度会更容易。 - Christoph

13

你无法这样做。如果你想要一个动态页面,那就必须使用WordPress - 这是使用它的全部目的。当然你可以获取由WordPress生成的html并将其推送到你的GitHub上,但我认为那将会是很多手动工作。

你可以尝试使用静态页面生成器,比如 https://github.com/jekyll/jekyll


4
你可以使用一个工具(如果你用 Mac 可以用 SiteSucker)来获取每个页面的所有源代码,然后进行多文件搜索和替换,将所有链接替换为你的 Github 地址。实际上不需要太多手动操作 :) - Johan Palmfjord
4
对于得票最高的答案,这是非常误导性的。作为此处链接的WP插件的作者,它和另一个流行的WP转静态HTML导出插件都存在于此,以完成此操作。我的插件还将自动部署到包括GitHub Pages在内的服务,因此这是一个单击过程,比使用SiteSucker、HTTrack或其他手动爬行并推送到GH要容易得多:https://wordpress.org/plugins/static-html-output-plugin/ - ljs.dev

7

如果你绝对不能从WordPress切换,但绝对需要在GitHub Pages上托管,则唯一的选择可能是查找一些WordPress插件,该插件将获取整个站点并生成静态网站(有点像Jekyll,但专门用于WordPress)。

编辑:实际上有这样一个插件:https://wordpress.org/plugins/static-html-output-plugin/

我刚在全新的WP安装上测试了一下,它似乎还可以,但有些事情似乎不起作用。


4
很不幸,仅仅因为WordPress是一个WebApp,也就是说需要数据库,所以你无法做到这一点。很抱歉成为带来坏消息的人。
如果你正在考虑替代方案,请考虑以下可以从GitHub Pages托管的静态网站生成器:
- Cryogen(Clojure) - Jekyll(Ruby)

4
你可以将WordPress迁移到Jekyll静态网站生成器,它是GitHub Pages的动力源。
您可以在Jekyll网站上找到迁移文档

3

不需要,你需要以下内容:

  • 前往Github,创建一个符合以下规则的新存储库:.github.io
    为了清晰起见,我的存储库将是andy4thehuynh.github.io
  • 同时,在本地创建一个Hugo存储库。
    进入本地计算机上的空文件夹,并执行hugo new site ./.
    使用git init初始化git存储库,并添加远程服务器git remote add origin git@github.com:<your_handle>/<your_handle>.github.io.git
    非常好,我们有了一个全新的博客存储库。
  • 让我们添加一个测试文章;执行hugo new post/test.mdecho 'Your live on Github Pages' >> ./content/post/test.md
    将草稿标记设置为true以确保您的文章可以呈现。
  • 运行hugo让Hugo构建您的站点。
    公共目录应该已经生成了一个全新的网站。太棒了!
  • 这里涉及到一些技巧;执行echo 'public' >> .gitignore。现在Git将不会知道您的公共目录(用户在浏览器中查看的已编译公共内容)。您很快就会明白为什么。
  • 使用git checkout -b source退出master分支。我们这样做是因为GH Pages不关心我们的源代码(即源分支)。它只关心公共内容。
  • 添加并提交您的源更改。执行git add -Agit commit -m 'Initial Commit'。使用git push origin source推送更改。
  • 最后,进入您的public文件夹。请注意,Git不会在此处跟踪更改。这是有意为之的。执行git initgit add -Agit commit -m 'Initial commit'。使用git push origin master推送更改。

打开名为.github.io的存储库,并在sourcemaster分支之间切换。
所有编译的内容应该在master分支中。
GH pages将看到它并呈现在<your_handle>.github.io上。
您可以在source分支中撰写草稿。使用hugo命令进行编译。当您对已编译的更改满意时,请推送您的public文件夹并成为一名摇滚明星。


0

可以并且非常容易。好处:

  1. 您可以像往常一样使用wp-admin功能
  2. 网站将由GitHub页面托管(非常快)
  3. 由于网站是静态的,除非您做得不好,否则不会出现安全问题。

步骤:

  1. 在子域上创建完整的wordpress网站,例如:static.mydomain.com
  2. 安装Simply Static Pro版本,可以轻松生成静态站点,并自动将其上传到GitHub(只需按照文档进行操作)
  3. 享受您免费托管的、极速的静态站点。

奖励:

  1. 使用wp-rocket优化。当静态站点创建时,它将从中受益。

  2. 由于没有数据库,插件表单ninja Forms将无法正常工作,因此请使用被Simply Static插件或第三方接受的表单,比如Typeform或Google表单。

  3. 出于安全目的,请配置服务器仅接受您IP连接到static.mydomain.com,这将增加您的安全性并避免谷歌索引该子域。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接