alexstack/laravel-cms-plugin-external-image-link

将页面内容编辑器中的所有远程图片保存到您的服务器,将图片URL从远程URL更改为本地URL。为外部链接添加 rel=nofollow & target=_blank 以提高SEO和用户体验。

0.2.0 2019-10-04 02:11 UTC

This package is auto-updated.

Last update: 2024-09-04 13:27:51 UTC


README

  • 这是一个 Amila Laravel CMS 插件
  • 将页面内容编辑器中的所有远程图片保存到您的服务器,将图片URL从远程URL更改为本地URL。为外部链接添加 rel=nofollow & target=_blank 以提高SEO和用户体验。

通过后台安装

  • 转到CMS设置页面 -> 插件 -> 搜索远程图片
  • 找到 alexstack/laravel-cms-plugin-external-image-link
  • 点击安装按钮

这个插件为我们做了什么?

  • 将内容编辑器中的远程图片保存到您的服务器(例如,主内容、子内容、额外内容...)。之后您可以在文件管理器页面找到它们。
  • 自动将远程图片URL转换为本地相对URL。例如。
<img src="https://github.githubassets.com/images/modules/marketplace/marketplace-illustration-01.svg" class="..." >

will automatically convert to below for you:

<img src="/laravel-cms/uploads/fb/9a3f5ebfa6aec1a597094ad6d3116edc09e2e2fb.svg" class="..." >
  • 自动为外部链接添加 rel="nofollow" & target="_blank",以改善SEO和用户体验。例如。
<a href="https://github.com/AlexStack/Laravel-CMS" class="text-info">Laravel CMS</a>

will automatically convert to below for you:

<a href="https://github.com/AlexStack/Laravel-CMS" class="text-info" target="_blank" rel="nofollow noopener external noindex">Laravel CMS</a>

手动通过命令行安装

composer require alexstack/laravel-cms-plugin-external-image-link

php artisan migrate --path=./vendor/alexstack/laravel-cms-plugin-external-image-link/src/database/migrations

php artisan vendor:publish --force --tag=external-image-link-views

php artisan laravelcms --action=clear

如何使用它?

  • 默认情况下,保存图片到服务器并为外部链接添加 rel="nofollow" 已启用
  • 安装后不需要做任何事情

如何更改设置?

  • 您可以通过编辑 plugin.page-tab-external-image-link 来更改设置
{
    "plugin_name": "External Images & Links",
    "blade_file": "remote-image",
    "tab_name": "",
    "php_class": "Amila\\LaravelCms\\Plugins\\ExternalImageLink\\Controllers\\ExternalImageLinkController",
    "remote_image_to_local": {
        "enable": true,
        "exclude": [".laravelcms.tech", "localhost/", ".test", ".local"],
        "local_image_size": "original",
        "replace_fields": [
            "main_content",
            "sub_content",
            "extra_content_1",
            "extra_content_2",
            "extra_content_3"
        ]
    },
    "nofollow_external_links": {
        "enable": true,
        "exclude": ["localhost/", ".test", ".laravelcms.tech"],
        "rel_text": "nofollow noopener external noindex",
        "target": "_blank",
        "replace_fields": [
            "main_content",
            "sub_content",
            "extra_content_1",
            "extra_content_2",
            "extra_content_3"
        ]
    }
}

如何在获取远程图片之前发送http头?

  • 以下是一些示例
"remote_image_to_local" : {
  	"enable": true,
    "exclude":[".laravelcms.tech","localhost/",".test", ".local"],
    "local_image_size": "original",
  	"replace_fields": ["main_content","sub_content","extra_content_1","extra_content_2","extra_content_3"],
  	"stream_options": {
     	".laravelcms.tech" : {
         	"http" : {
              	"method" : "GET",
              	"header" : "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0\r\nReferer:https://www.amazon.com/"
            }
        },
     	".laravel.test" : {
         	"http" : {
              	"method" : "GET",
              	"header" : "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36\r\nReferer:https://www.laravelcms.tech/"
            }
        }
    }
},

改进此插件和文档

  • 您非常欢迎改进此插件和使用文档

许可证

  • 此Amila Laravel CMS插件是MIT许可证下的开源软件。