防止特定小部件/插件的清漆缓存?

时间:2014-08-05 19:06:32

标签: wordpress caching varnish

我的主页上有一个天气小部件,它使用用户IP来显示当前的当地天气。问题是第一个登陆主页的人看到了正确的天气,但是其他所有用户都看到了第一个用户的天气。

显然主页获得了大量流量,因此无法在页面上关闭缓存。

我需要采取哪些步骤才能在主页上仅缓存该小部件/插件?由于它是一个小部件,可能有一天会出现在其他页面上,如果整个事情可以免除但是我甚至不知道如何开始会很好吗?

作为补充说明,小部件向第三方服务发出api请求,并将IP地址作为参数之一。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果用户的IP地址在返回给用户时包含在主页中,则无法在没有副作用的情况下缓存页面。

我的建议是尝试在单独的请求中将该IP地址信息提供给窗口小部件。您需要首先加载主页,不包括用户IP,并且他们从您的Javascript(您可以使用Ajax / Websockets等)发出第二个请求,从服务器获取IP地址,更新小部件的HTML并制作它显示天气。

它的工作量更大,确切的实现将取决于小部件的工作方式。

希望这会让你朝着正确的方向前进:)