将 WordPress 前后端分离

2018-04-25 11:40:39 +08:00
 artoostark
前些时间,发现两个真正的 WordPress 静态化插件—— Simply Static ( https://wordpress.org/plugins/simply-static/) 和 WP Static HTML Output ( https://wordpress.org/plugins/static-html-output-plugin/)。

于是我就在想,是否可以把用来发布内容的站点作为后端,而输出的静态 HTML 作为前端主站?

跟别人讨论了一下,我的思路基本都被赞成。

以下是讨论内容,顺序有点乱,不喜勿喷。

我在想,是不是可以把发布内容的网站改域名作为后端,比如 admin.demo.com
我最近在找纯静态化插件,发现这两个.这个插件生成的 HTML 静态文件,可以用 www 域名绑定。
图片,JS,CSS 等托管到第三方,或者自己的专用服务器上。
再套一些 CDN,做就近部署,主动分发到离用户最近的节点上。
这样做的话,真正发布内容的网站压力就小很多。
只需要关注专门的 HTML 静态文件的服务器,和托管图片、JS、CSS 的服务器。
当然,它们也可以放在一台服务器上面。
蛮适合媒体网站。不过,要考虑评论等交互的问题,到时候可能只能用第三方评论。
大部分人只是浏览,不怎么发评论做交互,压力很小。
最后说一下,插件生成的内容里,没有给搜索引擎看的 sitemap.xml 文件。
插件可能需要改造一下,或者直接给作者反馈。
另外,需要手动加 robots 文件,不加也可以。
改造完成以后,以后对后端的操作失误,应该不会影响到前端内容的展示。

这个方案比较适合中大型网站,暂时还没有仔细研究,说出来听一听大家的意见。
7672 次点击
所在节点    奇思妙想
22 条回复
edsheeran
2018-04-25 11:55:49 +08:00
artoostark
2018-04-25 11:57:33 +08:00
@edsheeran 我用了 Redis 和 Memcached。这个不太适合我,我知道这个插件。
night98
2018-04-25 11:59:42 +08:00
在用 wpsupercache,小站够用了。
artoostark
2018-04-25 12:00:51 +08:00
@night98 所以最后一句是:这个方案比较适合中大型网站。
just1
2018-04-25 12:02:15 +08:00
想法是没问题的,但是改完这还是 wp 吗
还不如重写。。
artoostark
2018-04-25 12:03:59 +08:00
@just1 是啊。WordPress 生态圈好啊。不想自己完全重写。
wangding85
2018-04-25 12:41:28 +08:00
之前搞过类似的,但是发现服务端改动太大,已经脱离 WP 框架变成写 php 的 api 了。之后采取了 twig 这个模版语言,好歹不用 php 和 html 混写
artoostark
2018-04-25 13:17:44 +08:00
@wangding85 看介绍还行。
qiaobeier
2018-04-25 14:10:17 +08:00
看标题我还以为在讨论 wp 的 restful api
qiaobeier
2018-04-25 14:14:13 +08:00
另外你说的这些功能很像这个产品 https://getshifter.io
artoostark
2018-04-25 16:07:03 +08:00
@qiaobeier 进去看了一下,WordPress 是部署在它上面,不太想要这种。
qiaobeier
2018-04-25 16:15:30 +08:00
@artoostark 我只是说功能和你说的有点像,也就是 wp 使用和创建生成的文件在 2 个地方,生成文件后自动发布到 aws,完全静态化。但他这个产品功能很不完善,也许我试用的免费版本的关系。
night98
2018-04-25 17:15:50 +08:00
你这个说实话其实基本等于 hexo,hugo 这类静态页面生成器了,这样的话就失去了 php 的特点呢。
shootsoft
2018-04-25 21:14:33 +08:00
首先,要看你是怎么定义“大中型网站”的,如果只是有很多页面,你可以试试,当页面数量达到几十万的时候,全站更新效率就会比较低。如果是有很多用户交互行为,频繁更新整个页面,性能和体验可能不如用 redis 或者 memcache 好。
artoostark
2018-04-25 21:26:44 +08:00
@shootsoft 如果整体更新一遍确实蛋疼。只能针对性的对有变动的内容做更新。
meathill
2018-04-25 22:58:48 +08:00
中大型的网站直接上 CDN 就可以了,对静态化的需求不是很大。如果小型网站,七牛每月 10G 流量差不多也够了。
flynaj
2018-04-26 13:02:45 +08:00
分离开就是静态网了,那你不如用其它 cms,dedecms 之类的。
hoythan
2018-04-30 04:30:45 +08:00
如果需要用到 wp 前后端分离的话。。。
https://github.com/hoythan/DFOXA-WordPressAPI
artoostark
2018-05-01 23:32:17 +08:00
@hoythan 好像还不错。
有兴趣加入我们的 WordPress 社区么?
kouhe3
2023-01-23 11:12:18 +08:00
~~要不写一个类似 WordPress.com 的安卓客户端,实现前后端分离(?)~~

我今天尝试了 simply static, 发现这东西太 GOOD 了。尤其是它能把静态文件保存到另一个目录,更方便了。
不过还是有个典型问题:搜索怎么办。

我看 blogger 挺好的,文章页面是 HTML, 搜素界面还是动态的.

WordPress 能不能 PHP 和 HTML 混着用?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/449678

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX