{"id":18415789,"url":"https://github.com/knash94/seo","last_synced_at":"2025-08-01T11:37:48.318Z","repository":{"id":57007689,"uuid":"121031948","full_name":"knash94/seo","owner":"knash94","description":"SEO 404 and redirect manager for Laravel 5","archived":false,"fork":false,"pushed_at":"2019-04-22T09:15:27.000Z","size":94,"stargazers_count":4,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-15T02:41:22.254Z","etag":null,"topics":["301","302","laravel","laravel5","redirect","seo"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/knash94.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-10T16:26:31.000Z","updated_at":"2025-04-07T08:49:52.000Z","dependencies_parsed_at":"2022-08-21T13:10:47.566Z","dependency_job_id":null,"html_url":"https://github.com/knash94/seo","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/knash94/seo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knash94%2Fseo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knash94%2Fseo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knash94%2Fseo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knash94%2Fseo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/knash94","download_url":"https://codeload.github.com/knash94/seo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knash94%2Fseo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265465060,"owners_count":23770339,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["301","302","laravel","laravel5","redirect","seo"],"created_at":"2024-11-06T03:55:50.369Z","updated_at":"2025-07-17T06:34:43.312Z","avatar_url":"https://github.com/knash94.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Laravel SEO Tools\n\u003ca href=\"https://packagist.org/packages/knash94/seo\"\u003e\u003cimg src=\"https://poser.pugx.org/knash94/seo/d/total.svg\" alt=\"Total Downloads\"\u003e\u003c/a\u003e\n\u003ca href=\"https://packagist.org/packages/knash94/seo\"\u003e\u003cimg src=\"https://poser.pugx.org/knash94/seo/v/stable.svg\" alt=\"Latest Stable Version\"\u003e\u003c/a\u003e\n\u003ca href=\"https://packagist.org/packages/knash94/seo\"\u003e\u003cimg src=\"https://poser.pugx.org/knash94/seo/license.svg\" alt=\"License\"\u003e\u003c/a\u003e\n[![Build Status](https://travis-ci.org/knash94/seo.svg?branch=master)](https://travis-ci.org/knash94/seo)\n\nA laravel 5 package that adds the ability to log 404 errors and to action these with redirects via a user interface. This has several benefits over creating redirect in a .htaccess (Or your web servers equivalent) as the main laravel application will run and then 404 if a page cannot be found, this is where the package will determine whether there is a redirect available. This prevents scenarios where a redirect may be hit before laravel and limiting access to your application. On top of this, it gives SEO members the ability to track 404 errors, tracking where they have come from and then action them with ease.\n\n## Installation\nInstall the package with composer\n```php\ncomposer require knash94\\seo\n```\n\nOnce installed, add the following line into your `config/app.php` service providers\n```php\n'Knash94\\Seo\\SeoServiceProvider'\n```\n\nThen open your `\\App\\Exceptions\\Handler.php` file and insert the following code under the render method, be sure not to change any existing code on the method\n```php\n$redirect = $this-\u003ereportNotFound($exception);\n\nif ($redirect \u0026\u0026 $redirect instanceof RedirectResponse) {\n    return $redirect;\n}\n````\nAlso add the `LogsMissingPages` trait to `\\App\\Exceptions\\Handler.php`\n```php\nuse LogsMissingPages;\n````\n\nAlso import the `Illuminate\\Http\\RedirectResponse;` in `App\\Exceptions\\Handler.php`\n\n\nFinally, publish the vendor files and run the migrations by running these commands\n\n```\nphp artisan vendor:publish --provider=Knash94\\Seo\\SeoServiceProvider\nphp artisan migrate\n```\n\n## Configuration\nThere are various configuration options to choose from, I'd recommend setting the `middleware`, `template` and `section` values. Simply open seo-tools.php and set the new values. Below is an example setup using your own template\n\n```php\n\u003c?php\n\nreturn [\n    'routing' =\u003e [\n        'prefix' =\u003e 'admin/seo-tools',\n        'namespace' =\u003e 'Knash94\\Seo\\Http\\Controllers',\n        'middleware' =\u003e ['auth']\n    ],\n\n    'views' =\u003e [\n        'template' =\u003e 'layout.admin',\n        'section' =\u003e 'content',\n        'index' =\u003e 'seo-tools::bootstrap3.index',\n\n        'errors' =\u003e [\n                    'edit' =\u003e 'seo-tools::bootstrap3.errors.edit',\n                    'view' =\u003e 'seo-tools::bootstrap3.errors.view'\n                ],\n        \n                'redirects' =\u003e [\n                    'edit' =\u003e 'seo-tools::bootstrap3.redirects.edit',\n                    'delete' =\u003e 'seo-tools::bootstrap3.redirects.delete'\n                ]\n        ],\n        \n        // Filters what URLs to not record using regex\n        'filters' =\u003e [\n            '/(\\.png)|(\\.jpg)|(\\.gif)/',\n            '/wp\\-login\\.php/'\n        ]\n];\n```\n\nIf you want to link the redirect manager into your admin panel, then create a link to the `seo-tools.index` route\n\n## Todo\n- Testing suite\n- Ability to test if a redirect works as intended before applying the change\n- To mass insert redirects\n- Ability to add regex into redirects\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknash94%2Fseo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknash94%2Fseo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknash94%2Fseo/lists"}