Download the PHP package gavtaylor/laravel-seo without Composer

On this page you can find all versions of the php package gavtaylor/laravel-seo. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-seo

Laravel SEO

One package for a Laravel site's SEO plumbing. Each feature switches on only when its tracking code or key is configured, so a site uses just the parts it has set up.

Feature Switched on by
Google Analytics GOOGLE_ANALYTICS_MEASUREMENT_ID
IndexNow INDEXNOW_KEY

It sits alongside gavtaylor/laravel-sitemap, which stays a separate package. If both are installed, IndexNow uses the sitemap's route scan as its URL list.

Installation

The package auto-registers. Publish the config if you want to edit it directly:

Google Analytics

Put the component in your layout's <head>:

IndexNow

IndexNow tells Bing, Yandex, Naver, Seznam and others when pages change, so you do not submit URLs by hand. Google does not support it. Nothing is added to your pages: the package makes one server-side API request and serves a small key file.

Changes are detected by hashing each page's rendered HTML, not by watching source files or keeping a content database. A Blade edit, a config value, or database-driven copy that changes a page all count as a change. Only new or changed pages are submitted, as IndexNow asks.

Generate a key at https://www.bing.com/indexnow/getstarted (letters, numbers and dashes, 8-128 characters):

The package serves the key at /{key}.txt itself, so there is no file to upload. The key is public by design. Then run php artisan migrate to create the indexnow_urls table.

The first run submits every page and records its hash. Later runs submit only pages whose hash changed. If the submission fails, hashes are not saved, so the next run retries.

Run it after each deploy, and optionally on the scheduler to catch changes that happen without a deploy:

The command only contacts search engines in the production environment. Set INDEXNOW_ENABLED=true or false to override.

Where the URLs come from

If gavtaylor/laravel-sitemap is installed, its route scan is used, so there is no second list to maintain. Otherwise list absolute URLs in seo.indexnow.urls, or point seo.indexnow.url_provider at your own class implementing GavTaylor\Seo\IndexNow\Contracts\UrlProvider.

CSRF tokens, nonces and inline <svg> blocks are ignored when hashing, so a randomly rotated decorative graphic does not count as a change. List regular expressions for anything else that varies between requests (a timestamp, a random banner) in seo.indexnow.hash_ignore.

Pages are fetched over HTTP from their public URL, so the command works even when run as a user that cannot write to storage/ (for example a locked-down deploy user). Redirecting and non-200 pages are skipped. Use seo.indexnow.exclude to skip URL patterns.

Configuration

See config/seo.php; every option is commented. The environment variables are GOOGLE_ANALYTICS_MEASUREMENT_ID, GOOGLE_ANALYTICS_ENABLED, INDEXNOW_KEY, INDEXNOW_ENABLED, INDEXNOW_HOST and INDEXNOW_ENDPOINT.

Testing

License

MIT


All versions of laravel-seo with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
illuminate/console Version ^12.0||^13.0
illuminate/contracts Version ^12.0||^13.0
illuminate/database Version ^12.0||^13.0
illuminate/http Version ^12.0||^13.0
illuminate/support Version ^12.0||^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package gavtaylor/laravel-seo contains the following files

Loading the files please wait ...