如何创建一个简单的phpcms和生成SEO友好的URL

添加时间:2020-09-08 08:07:00

现在,新一代CMS已经问世,其中一些是使用CodeIgniter框架生成的,有些是使用Moodle或Drupal生成的。但是这些CMS仍然存在类似的seo优化问题。在那之后不久,WordPress出版了。

这些CMS的一个缺点是它们是为通用站点而设计的。例如,WordPress初是一个博客系统,现在提供插件来制作任何类型的网站。但是对于这样的系统,您需要大量的类、代码、插件和维护。

另一件事是你不能在没有得到源代码的情况下为你的客户销售GPL许可证代码。他们终会听到你要求他们为他们可能不喜欢的开源软件付费。

鉴于此,也许很好的解决方案是制作自己的CMS,轻量级。你可以随心所欲地授权它,当你写它的时候它会非常清晰,并且你有一个自定义的数据库结构。

我们有文章的“Id”参数,还有一个“type”参数。在这种情况下,它的价值是“博客”,但它可以是任何东西,产品,文章或博客。我们有一个“Lang”参数,它适用于多种语言的网站,在本教程中我将跳过“Lang”参数。我们需要在“how to make seo优化 friendly links”链接中模拟相同的功能,因此我们这样做:

使用[NC]标志会导致rewritereules匹配不区分大小写。也就是说,它不关心字母在匹配的URI中是大写还是小写。

让我们看看PHP代码:

如您所见,首先我们在请求URL中获得“$PID”。然后我们用语句查询数据库以获得元素的类型和ID。如果元素不存在,我们将把代码重定向到自定义404页。

在得到元素的类型和ID之后,剩下的就简单了。我们需要根据URL类型发出另一个请求来获取元素的详细信息。

当我们添加blog时,我们将所有数据插入“blogs”表中,现在我们将获得blogid。我们需要在“url”表中使用这个ID。我们还需要一个标题来创建一个链接。现在我们将使用create_ulink()函数:

如您所见,我们总是先插入blog,然后获取其insert ID和标题。然后我们使用create_Thelink函数从标题创建一个新的URL,这样我们就可以在URL表中插入一个新行。

函数的作用是:获取博客或产品的标题并将其转换为小写。然后删除特殊字符并用“-”替换空白字符。

我们还需要检查我们得到的URL是否已经存在于“URL”表中。我们需要使表中的所有url都是这样的。

我们使用dulatepage()函数检查重复的URL。然后我们递归地调用“slug”,直到得到正确的URL。

示例代码以一种简单的方式编写,以便于您理解概念。它不应该被视为完全测试在一个真正的CMS和seo优化