SEO适用于匿名用户
如果问题中的网址仅适用于已登录的用户 - 它们的 SEO 价值为零 - 因为 googlebot et.al. 永远不会登录您的网站,如果他们这样做了 - 所有网址都是/googlebots-username/...
.
搜索引擎优化路线
假设这些用户 url 是可公开访问的(请参阅前一点,如果不是,则它们没有任何价值),您需要做的就是为它们定义一个路由:
// define other routes first
Router::connect('/about', array('controller' => 'pages', 'action' => 'display', 'about'));
Router::connect('/:username/:controller', array('controller' => 'default', 'action' => 'index'));
Router::connect('/:username/:controller/:action', array('controller' => 'default', 'action' => 'index'));
Router::connect('/:username/:controller/:action/*', array('controller' => 'default', 'action' => 'index'));
然后,您可以访问控制器内的用户名属性
$username = $this->request->params['named']['username'];
修复图像
这是一个单独的问题,但简单的解决方法是使用适当的辅助方法:
<?php echo $this->Html->image('xyz.png', array('alt' => 'to the abc')); ?>
大多数标记问题的答案是使用适当的辅助方法。
或者
或者只使用绝对网址:
<img src='/img/xyz.png' />
显然,如果 url 正在更改 - 使用资产的相对路径意味着请求的图像会根据当前 url 更改。