出于 SEO 目的故意发送 410 错误时加载页面本身

Load a the page itself when 410 error is send intentionally for SEO purposes

我有一个网站,上面有很多可供客户购买的产品。

我实现了一个 adding to cart 按钮,点击它后将产品添加到 Session 变量。其中的一部分,页面的 header 上有一个购物车图标,该图标的数量根据购物车中的产品数量而增加,具有 jquery 功能:$("#topcart").load(location.href+" #topcarrito");.它仅加载 div,其中包含包含产品购物车 session 变量的数组的长度。

自从我的 SEO 同事希望我将 410 error-code 应用于某些产品以进行 SEO 目的以来,所有这些东西一直运行良好,只是为了减少索引的产品,因为它们是多余的(non-rich说明等)。我这样做的方法是向他们添加 header('HTTP/1.1 410 Gone');

问题是此时,当我尝试将设置有 410 错误的产品添加到购物车时,由于 Web 浏览器检测到错误,它不会加载 div购物车中产品的更新数量。相反,控制台显示 410 错误。但是,如果我通过单击 F5 重新加载页面,购物车中的产品数量会正确加载,因此产品已添加到购物车中。

即使浏览器检测到 410 错误,我有什么方法可以加载 div 吗?

万一有人也有这个问题,我终于找到了解决方法。

我所做的是创建一个新的 php 文件,它获取会话数组的计数并回显它,通过 AJAX 调用获取它,然后修改 div使用简单的 $("#topcarrito").text(value),因此无需加载出现 410 错误的页面。