Code Monkey home page Code Monkey logo

seo-lite's Introduction

SEO Lite is a lightweight addon for ExpressionEngine which will add a tab where the user can specify meta keywords, descriptions and alternatively override the title with a SEO optimized version.

ExpressionEngine 3.1+

ExpressionEngine 2

Full list of releases: https://github.com/bjornbjorn/SEO-Lite/releases

seo-lite's People

Contributors

bjornbjorn avatar croxton avatar jeremyworboys avatar krisnielsen avatar repox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

seo-lite's Issues

Extra Image when using Assets + Amazon S3

Hey there!

First, thanks for such a great plugin - so helpful and easy to use!

I am using the extra:image config and my field is an assets field, with images from S3. The returned image url is coming back:

 {filedir_}image-name.jpg

Is this a bug or something else causing this?

Thanks so much!
Danielle

When using PHP 7 - Control Panel errors and site pages won't load

When configuring my host (A2 Shared Hosting) to use PHP 7, SEO Lite generates the following notices in the EE 3 Add-On manager:

Deprecated
Methods with the same name as their class will not be constructors in a future version of PHP; >Seo_lite_upd has a deprecated constructor
user/addons/seo_lite/upd.seo_lite.php, line 14 hide details
Severity: E_DEPRECATED

Notice
Only variables should be assigned by reference
user/addons/seo_lite/upd.seo_lite.php, line 27 hide details
Severity: E_NOTICE

Further, when using PHP 7, pages using the SEO Lite tag will not load. All is well with PHP 5.6 on same host.

EE: 3.2.1
SEO Lite: 1.5.2

screenshot 2016-04-15 07 41 23

Fatal error: Call to undefined method Cp::set_variable() in

Here is the error I am getting
Fatal error: Call to undefined method Cp::set_variable() in /xxxx/system/expressionengine/third_party/seo_lite/mcp.seo_lite.php on line 97

running EE 2.11

seo lite 1.3.5

Jeff

Here is the code from that page where the line error is occurring. The plugin is working I just can't access the default page in EE admin.

$vars['_form_base'] = $this->form_base;
$this->EE->cp->set_variable('cp_page_title', lang($lang_key));
$this->EE->cp->set_breadcrumb($this->base, lang('seo_lite_module_name'));

Default title postfix no longer works?

First, thank you for SEO Lite, it's a great tool!

I upgraded a site to the latest version of SEO Lite, and found that it isn't appending the "Default title postfix" anymore, as of version 1.4.9.3 running on EE 2.7.3

I have the field set to:

...to put a pipe and a space between the title and the default title... but it's no longer appearing in the <title> tags, so the words are mashed together.

Nothing else changed on the site other than updating to the latest SEO Lite. Any ideas?

Tag Pair Not working

I'm trying to use the tag pair to get just the data from the meta description field into another location in my template. I have copied the code almost exactly from the mod file and nothing is showing. This is within a channels:entries loop but I've tested outside as well and still have the same result. I also experience the same result no matter the parameters I add in here.

{exp:seo_lite:pair}
         <h3>Meta description:</h3>
           {meta_description}
    {/exp:seo_lite:pair}

Problem with default configuration

Hi, I have ExpressionEngine 3.3.2 and SEO Lite 1.5.3. When I try to edit the default configuration (default page keywords, default page description, etc) and I click Update, it returns the homepage of the website (it leaves the Control Panel and it goes directly to the website). If I return to the configuration page, the changes have not been saved.

I tried using different browsers, uninstalling and reinstalling SEO Lite, clearing browser cache, clearing EE cache, with no success. What should I do? Thank you.

Publisher support

I have installed Seo Lite with the latest Publisher. Unfortunately the urls and titles are not translated despite the addon support publiser.

Do i miss something?

Config file is not visible

I checked in EE v2.7.3 and EE v2.10.1
I downloaded the latest version of SEO lite v1.4.9.3(bjornbjorn-SEO-Lite-release-1.4.9.3-5-gcedc84e.zip), but in file "upd.seo_lite.php" I see v 1.4.10.

I added in seo_lite/config/seolite.php

$config['seolite_extra'] = array(
    '1' => array(
        'image' => array(
            'field_id' => 27,                   
            'field_type' => 'file',
        )
    )
);

In the file mod.seo_lite.php on line ~180 you have checking:

if($this->EE->config->item('seolite_extra'))

which always returns false, as result I cannot use {extra:image}

Any idea why it doesn't work?

Parse Error

Hello,

I'm getting the following parse error when I click to view the SEO Lite settings:

Parse error: syntax error, unexpected '[' in /nfs/c11/h01/mnt/196778/domains/hallettperrin.thedesigncore.com/html/engine/user/addons/seo_lite/views/index.php on line 19

EE v3.4.2
Seo Lite v1.5.3

Thanks for any help.

CP problem with upgrading from 1.4.10 to 1.5.6 in EE3

When clicking on update button in EE3 plugins you will receive a MYSQL error related to ALTER TABLE statement.

This is caused by if statements comparing versions in upd.seo_lite.php file.

Currently it is:
if($current < '1.4.9') {
Should be:
if (version_compare($current, '1.4.9', '<'))

This goes for all if statements comparing versions.

EE3 - deleting a post errors...

We're running EE3.1.2 and SEO Lite 1.5.1

When logged into the CMS, on entries view we deleted an entry, confirmed in the popup, then got the following erros:

Notice Undefined index: entry_ids user/addons/seo_lite/tab.seo_lite.php, line 247 show details
Severity: E_NOTICE Warning

Invalid argument supplied for foreach()
user/addons/seo_lite/tab.seo_lite.php, line 247 show details

Severity: E_WARNING Warning
Cannot modify header information - headers already sent by (output started at         
/home/XXX/public_html/admin/ee/legacy/core/Exceptions.php:112)

ee/legacy/core/Input.php, line 249 show details
Severity: E_WARNING Warning

Cannot modify header information - headers already sent by (output started at 
/home/XXX/public_html/admin/ee/legacy/core/Exceptions.php:112)

ee/legacy/libraries/Functions.php, line 437 show details
Severity: E_WARNING

Ellis labs are looking at a few other issues and fixed this one our server, its around line 245 as its looking for an associative array with an element named ‘entry_ids’ and EE was just feeding it an array of entry ids.

Use default_title from parameter first, then original_title

Hi all,

I'm not sure if this is a bug or a feature request...

// use SEO title over original if it exists, then original, then default_title from parameter
'title' => htmlspecialchars($this->get_preferred_value($seolite_entry->seo_title, $seolite_entry->original_title, $default_title), ENT_QUOTES)

If an entry is required, then the original_title will be defined no matter what. But if there isn't any entry, then in most cases, a 404 page is loaded or an alternative entry is displayed, in that case seo_lite won't be used.
On pages listing entries, instead of being the en entrie's page, then I set the title, description and rel=can manually instead of using seo_lite.
So I don't really see the point in having the default_title param as last option... In which cases could it be used?

Now, if the two last params are swapped around, setting the default_title param in the template would allow us to overide the original title with a custom title on a per template basis.
For example

{title} {if categories} | {category_name}{categories} | News Section | {site_name}

As far as I can see, this would be a great improvement.

Johan

Problem with EE2 and MSM

Hi, I'm running a site with EE 2.10.2 and SEO Lite 1.4.9.3.
In the main site it works well, but in the second site no SEO appears on the pages (no meta title, description and keywords). If I try to edit the default configuration in Modules - SEO Lite in the second site, it redirects to the front-end and it doesn't save them. What can I do?

Depreciated function

Got warning in 2.6.1 for a depreciated function.
in 'mod.seo_lite.php'
97: $this->EE->cp->set_variable('cp_page_title', lang($lang_key));
Should it be?
97: $this->EE->view->cp_page_title = lang($lang_key);

Using extra: image variable while pulling across alternate site_id, throws error

When loading SEO data from another site_id, and using an extra variable of the image type, SEOlite cannot turn the filedir id into a url. This is because it is trying to find the file dir based on the current site id and not the defined one.

Potential solution
Line 340 of mod.seo_lite.php
$upload_dest_info = $this->EE->file_upload_preferences_model->get_file_upload_preferences(FALSE, $filedir_id, TRUE);
forces EE to ignore Site_id, could implement conditionally on if site id is defined.

ignore_last_segments="x" - problem

Struggling with getting the ignore_last_segments parameter to work as described. Is there a working example? The domain provided on the documentation doesn't work (has no canonical link tag).

Prevent default description tag to be inserted into HTML if not updated

I don't use this tool or Expression Engine CMS but wanted to note that I was c/p a link into Slack today from these guys: http://mrcagney.com/

And the description was bizarre:

<meta name='keywords' content='your, default, keywords, here' />
<meta name='description' content='Your default description here' />

Inspecting the HTML, I saw the tag that noted the above was created b/c of this SEO Lite add on. Perhaps it would be ideal if the add on did not insert these meta tags if the user has not updated the values associated with each.

Can't override default values from template when use_last_segment is used

Working on an EE 2.11.9 site with SEO Lite 1.4.9.3 I have this in my global template embedded with Stash:

{exp:seo_lite
  use_last_segment="yes"
  title_postfix="{stash:_postfix}"
  default_title="{stash:_page_title}"
  default_keywords="{stash:_keywords}"
  default_description="{stash:_meta_desc}"
}

and this in the template that embeds it:

{stash:embed
  name="layouts:global"
  stash:_postfix="test"
  stash:_meta_desc="test"
  stash:_page_title="test"
  stash:_keywords="test"
}

With use_last_segment I get the entry title in the title tag but the default module values for description and keywords. If I take use_last_segment out, then I get test which is what I'd hope I'd get using use_last_segment if there's no values entered for that particular entry in those fields.

Feature Request - Option to remove pagination from canonical URL

Hi Bjorn,
I use SEO Lite on pretty much every website I build at work, and there's one thing I've been wanting (that I've read you mention in the past) for a while.

Are you able to add a switch into SEO Lite so we can decide if we want to include pagination in the canonical url or not?

Thanks!

No longer works on EE2?

I just updated SEO Lite and added it to my third_parties folder and no go. Does this no longer work for versions less than 3.0?

Selecting all channel data?

Hi

I am performing some database optimisation on an expression engine site I built a little why ago and one of the plugins used is your SEO lite plugin.

One of the queries that has appeared in my mysql slow queries loq is the one generated via the code below:

$select_str = 't.entry_id, t.title as original_title, url_title, '.$table_name.'.title as seo_title, default_keywords, default_description, default_title_postfix, keywords, description, seolite_config.template'; $select_str .= ',d.*';

I am using an older version of the plugin which doesn't have the
if($this->EE->config->item('seolite_extra')) {} statement

I just wondered if you could provide me with some information on what the d.* is used for as it currently extracts all the channel data from the table which I don't see a need for in my setup. Just wondered if there was anything I was missing.

Thanks

Title Postfix

It's currently impossible to specify a an empty title postifx.

For instance, if I have this in my EE tempalte

{exp:seo_lite entry_id="{exp:stash:entry_id}" title_postfix="" title_prefix="" default_title="{exp:stash:title}" default_description="" parse="inward"}
      <meta property="og:title" content="{title}" />
      <meta property="og:description" content="{meta_description}" />
{/exp:seo_lite}

It seems that the title_postfix is completely ignored regardless of what you put in there, but I need a fix that will make it also work when there is an empty postfix.

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.