artesaos / seotools Goto Github PK
View Code? Open in Web Editor NEWSEO Tools for Laravel
License: MIT License
SEO Tools for Laravel
License: MIT License
Transforming the package in a package that does not depend on Laravel.
Transformar o pacote em um pacote que não dependa do Laravel.
Hi mate, whats your thoughts on having the closing part of the meta tag with /> and not just >?
According to W3.org there is no forward slash to closing the tag.
http://www.w3.org/html/wg/drafts/html/master/single-page.html#the-meta-element
Missing from documentation:
Add "Use SEOMeta;" to controllers to access the Alias.
Usually meta titles are like Page Title - App Name which is odd for homepage.
I would like to set App Name - Page Title for home page. Is there a way to achieve this?
Would be helpful if there was a homepage option in config file.
Regards
Why i keep getting It's Over 9000! how can i get rid of it
On local server if there is no title set through this package, title is created with the default name from config file, however on live server the default title is ignored.
Also on localhost every title set through the package has the default name included after the main title separated with the separator, but on live server this is also ignored.
Add support for RSS
Hi,
can you add like this:
<link rel="canonical" href="{{ Request::url() }}"/>
Documentation: https://support.google.com/webmasters/answer/139066
Thanks
Twitter::addImage('example.jpeg');
produces this code:
Why is the 0 after images? And by the Twitter, this meta tag must be twitter:image
Hi,
why don't put in defaults value url Url::current() like the canonical one?
Can the generate function be extended with one single line of html output? This gives an higher rank in Google PageSpeed Insights.
Metatags SEO
First thanks for your hard work on this! Is it possible to override the default open graph image? With twitter we can set the card image with setImage() in the controller but with open graph we can only use addImage() which does not override the default open graph image. Facebook is pulling the first it sees, which is the default.
showing canonical on web page is essential seo practice..pls add this feature
The title separator and default page title is always concatenated to the title, even if it's specified. This behaviour is really cool but sometimes it's useful to just omit that concatenation. Is it currently possible?
Hi and thanks for the great work.
I don't know why but whenever i set new title in my controller, for example with SEO::setTitle('test');
or SEO::setTitle('test',false);
the defaults value of title on seotools.php is appendend. That means the final title of the page will be 'test+defaults_title'. How can i override the value on seotools.php or disable the append of the default title?
here is the seotools.php
`<?php
return [
'meta' => [
/*
* The default configurations to be used by the meta generator.
*/
/*
* EXCLUDE SEO ROUTES PANEL
*/
/*
* More about
* - titles at: https://moz.com/learn/seo/title-tag
* - description: https://moz.com/learn/seo/meta-description
* - canonical url: https://moz.com/blog/canonical-url-tag-the-most-important-advancement-in-seo-practices-since-sitemaps
*/
'defaults' => [
'title' => "myDefaultString", // set false to total remove
'description' => "MyDefaultDescription.", // set false to total remove
'separator' => false,
'keywords' => [ 'test'],
'canonical' => false, // Set null for using Url::current(), set false to total remove
//multiple pages considered as one
],
/*
* Webmaster tags are always added.
*/
'webmaster_tags' => [
'google' => null,
'bing' => null,
'alexa' => null,
'pinterest' => null,
'yandex' => null,
],
],
'opengraph' => [
/*
* The default configurations to be used by the opengraph generator.
*/
'defaults' => [
'title' => "myDefaultString", // set false to total remove
'description' => "MyDefaultDescription.", // set false to total remove // set false to total remove
'url' => false, // Set null for using Url::current(), set false to total remove
'type' => false,
'site_name' => false,
'images' => [],
],
],
'twitter' => [
/*
* The default values to be used by the twitter cards generator.
*/
'defaults' => [
//'card' => 'summary',
//'site' => '@LuizVinicius73',
],
],
];
`
I want to add multiple tags article:tag but apparently you just allow a meta tag is displayed
examples:
SEO::opengraph()->addProperty('video:tag', 'Tag 1');
SEO::opengraph()->addProperty('video:tag', 'Tag 2');
but it only shows
< meta property="og:video:tag" content="Tag 2">
Hello,
Although we can use robots.txt, robots meta is still useful in some cases, for example, on user/category posts listing page we may need noindex, follow
.
Could you pls bring robots meta tag feature in your package?
Regards
almamun
Base de pacote para Laravel
Add support for Twitter Cards
Hi there - Is there a way to add an amphtml link in addition to the current canonical link?
<link rel="amphtml" href="https://www.example.com/url/to/amp/document.html">
Not sure if I am missing something, or if this is a new feature request.
I appropriate This effort for building a package like this one but what is the difference between this package and writing in my view meta tags by self?
The defaults config file that gets published is barely used, and when it is, it is very inconsistent. I think we should either get rid of it entirely and rely on built-in defaults on the parameters, or rely more heavily on it in a much more consistent manner. What do you think?
I want to add my facebook app_id and its should look like this
with seotools i can only add it like this
i try to run the vendor publish but don't see the plugin
It's not installing via composer maybe it requires a 1.0 release?
hi, i just try this seo tools and i got this issue when i trying to generate article tag
this is in my controller:
OpenGraph::setArticle([
'published_time' => $par->post_time,
'author' => $par->author->user_fullname,
'section' => $category,
'tag' => $tags
]);
when the $tags is string, it generated as:
<meta property="article:tag" content="tag" />
but when it's an array, it generated as:
<meta property="og:tag" content="tag" />
Reparei que existe um array de config no método generate que configura quais tags serão geradas, por default somente image, video e audio estão habilitados, porém não existe uma forma de ativar as outras tags.
$props = [
'images' => ['image', true],
'articleProperties' => ['article', false],
'profileProperties' => ['profile', false],
'bookProperties' => ['book', false],
'musicSongProperties' => ['music', false],
'musicAlbumProperties' => ['music', false],
'musicPlaylistProperties' => ['music', false],
'musicRadioStationProperties' => ['music', false],
'videoMovieProperties' => ['video', false],
'videoEpisodeProperties' => ['video', false],
'videoTVShowProperties' => ['video', false],
'videoOtherProperties' => ['video', false],
'videoProperties' => ['video', true],
'audioProperties' => ['audio', true],
];
Mesmo colocando true em todas os itens do array não afeta em nada na geração, e alguns métodos continuam não tendo nenhum efeito na geração das tags, exemplo setProfile, setArticle, setBook e etc
OpenGraph Tags
Error: htmlentities() expects parameter 1 to be string, object given (View:
I wnat to chage title from pages
`@extends('layouts.app')
@section('content')
{{ SEO::setTitle('test') }}
bla bla bla
@endsection`
in layouts.app i generate SEO
Hi,
reading the twitter document i can see that tiwtter:image0 is deprecated because it was linked to Gallery Cards (deprecated cards). We have to use the same atribute as Summary Card :
more info here https://dev.twitter.com/cards/types/summary-large-image at the bottom : "Mappings from Gallery Card"
Currently SEOMeta::setTitle()
appends the default title to the set title. This comes in handy most of the times, but not always.
Proposal: add a 2nd argument to SEOMeta::setTitle()
which optionally disables the appending of the default title.
Hi and thanks for the great work.
While reading the documentation, i could not identify which versions of laravel the project is compactible with.
Could you please add that!
Thanks and once more, great work.
This will make it easy to change to this format for page title tags:
page name | site
Function is simple setter.
public function setSeperator($sep) {
$this->titleSeperator = $sep;
}
Is there any planning to add "google rich snippets" tag . This would be cool addon for ecommerce product..
Like "Review", "Author" , "Availability", "Price".
Hi ! , first thank you so much for this amazing work,
I ran into an issue , I tried to set the keywords in my controller like this:
// before class
use SEO;
---
// in controller:
SEO::setKeywords('key1', 'key2', 'key3');
but I ran into this error:
Call to undefined method Artesaos\SEOTools\SEOTools::setKeywords()
I tried this code too:
//before class
use Artesaos\SEOTools\Traits\SEOTools as SEOToolsTrait;
---
//after class
use SEOToolsTrait;
---
// in controller:
$this->seo()->setKeywords(['key1', 'key2', 'key3']);
with the same error, Note, those are working fine with no problems:
SEO::setTitle('title');
SEO::setDescription(str_limit($work->description, $limit = 120, $end = '...'));
SEO::opengraph()->addProperty('type', 'articles');
Add support for sitemaps
Hi,
is it possible to implement the itemprop meta? Like:
SEOitemProp::name('Hello world!');
SEOitemProp::description('A new description');
and so on?
Hi there,
I was wondering it there is any way to enforce canonical tag to be lowercase?
Regards,
Mehdi
How to set default title to two areas, example:
Admin in admin section and Name of Site in front?
Google is currently using schema.org with JSON-LD format.
Its quite similar to OpenGraph, so maybe you could add support for it as well.
https://developers.google.com/search/docs/guides/intro-structured-data
https://json-ld.org/playground/
http://schema.org/docs/full.html
Hello,
For most urls, \URL::current()
should be appropirate canonical value. It would be easier to set in config array. Isn't it?
Regards
Almamun Dinajpuri
Amviro
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.