GithubHelp home page GithubHelp logo

classicpress / classicpress-seo Goto Github PK

View Code? Open in Web Editor NEW
27.0 27.0 10.0 3.32 MB

Classic SEO is the first SEO plugin built specifically to work with ClassicPress. A fork of Rank Math, the plugin contains many essential SEO tools to help optimize your website.

License: GNU General Public License v2.0

CSS 7.42% JavaScript 1.80% PHP 90.75% SCSS 0.03%
classicpress classicpress-plugin rank-math rich-snippets schema seo seo-meta seo-plugin sitemap social-meta

classicpress-seo's Introduction

ClassicPress: The CMS for Creators. Stable. Lightweight. Instantly Familiar.

ClassicPress is a community-led open source content management system for creators. It is a fork of WordPress 6.2 that preserves the TinyMCE classic editor as the default option. It is half the size of WordPress, contains less bloat improving performance, and has no block editor (Gutenberg/Full Site Editing).

Coding Standards PHPUnit Tests JavaScript Tests PHP Compatibility Financial Contributors

For more information, see:

Contributions

This project exists thanks to all the people who contribute and who have contributed in the past, whether as part of the long history of thousands of contributions to WordPress from many different people, or as contributions to ClassicPress itself.

Would you like to help? Here is how you can start ›

Sponsors

Corporate sponsors that believe in ClassicPress. Become a sponsor › All donations are tax-deductible in the United States.

Brinkhost IT Tukutoi

Financial Contributors

Support the ClassicPress project by making a donation › All donations are tax-deductible in the United States.

Individuals

Financial contributors

Organizations

Financial contributors

classicpress-seo's People

Contributors

johnalarcon avatar nylen avatar timbocode avatar xxsimoxx 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

classicpress-seo's Issues

Add Beaver Builder Page Builder support

Add native analysis support for Beaver Builder.

Most page builder plugins store the layout data outside the post content so the analysis tools cannot scan it.

Remove Auto Update setting

The Auto Update option is a legacy setting from RM and has no effect in Classic SEO.

Should be removed.

autoupdate

ACF module does not analyse content inside Repeater and Flexible Content fields

I've noticed that on sites using ACF Pro, Classic SEO only reads top level WYSIWYG and Text fields when analysing the page content. Any content in Text or WYSIWYG fields that are inside Repeaters or Flexible Content fields are not read - as least as far as I can tell.

Obviously this doesn't affect Google, but because it affects the analysis and score on the editor page, it makes it harder to see whether my content is sufficiently optimised.

It would be great to have a more intelligent ACF module that can recursively dive into Repeater and Flexible Content fields to find any WYSIWYG or Text fields that may be inside them.

Missing "cpseo_" prefix in some settings

When Classic SEO was forked from RM, the prefix "cpseo_" was added to settings in the code. For example:

sitemap.include_images in RM would become sitemap.cpseo_include_images in Classic SEO.

In a few cases involving settings that are unlikely to be used often, the prefix was omitted.

This would not have caused any problems but to keep things consistent, we need to add the "cpseo_" prefix where it is missing.

Massive amount of CPSEO settings appear in Post's Custom Metadata

I'm running CP 1.1.2 (German locale) and just updated CP SEO to 1.0.0-beta.3.

I've noticed huge amounts of CPSEO Custom Metadata appended to my Posts. See below for the disruptive impact this has.

These seem to be CPSEO internal settings. I understand that they should not appear if CPSEO is correctly working and showing its editor.

What you can't see is another effect: When I start a new post and want to add my Custom Meta field called "epaper" that I actually want and need, it has been kicked out of the dropdown containing usual Custom Meta entries.

Additionally, I would say that it makes no sense to save all of these settings with every post, at all. Especially since some seem are actually totally unrelated to the current installation (like Recipe rich snippets). You understand, I switched to CP and CPSEO to reduce bloat ;)

cpseo-bogus-custommeta

jQuery error when clearing Search Console cache

The following error is created when trying to clear the Search Console cache at General Settings -> Search Console -> Delete Cache (or Delete Recent Cache (last 90 days)).

Uncaught TypeError: classicSEOAdmin.ajax is not a function

This error occurs in assets/admin/js/option-panel.js.

Subsequently, the cache cannot be cleared.

It is not thought that this error is related to issue #87 .

Remove redundant code / clean codebase

Although much of the code from the parts of Rank Math not carried over to Classic SEO have already been removed, it is known that some redundant code remains, particularly in JS and CSS.

The opportunity should be taken to remove any code that is specific to PHP 5.6 as Classic SEO does not support any version of PHP below 7.0.

Similarly, the entire codebase needs to be examined to see where improvements and efficiencies can be made.

Massive amount of CPSEO settings appear in Post's Custom Metadata is potentially an area where such improvements can be made. Although PR #76 partially addresses this issue, it only hides the meta data but does not stop it from being created. Ways of reducing the amount of data will be examined as part of issue 41.

Page builder (DIVI) shortcodes in meta description not being correctly processed on frontend

Intro

If the meta description field on the page edit page is not completed manually by the user, the default is used. In most cases this seems to work fine. It extracts the first 160 characters from the body text and this is added to the <meta name="description" content=""/> on the frontend.

If using a page builder such as Divi, this also seems to work fine most of the time. However, there are occasions when it may not work as expected.


The Issue

If using the default, auto-generated meta description using a page builder such as Divi, the meta description preview on the edit page may look fine. However, if you look at the source for the frontend of the page, the meta description may show Divi shortcodes instead of standard text as in the following example:

Manually entered description

<meta name="description" content="This is an example meta description entered manually. It is not auto-generated. The theme is Divi 3.20.2. This should display without problem."/>

Auto-generated description

<meta name="description" content="[et_pb_section bb_built=&quot;1&quot; admin_label=&quot;Header&quot; custom_padding_last_edited=&quot;on|tablet&quot; _builder_version=&quot;3.20.2&quot; background_image=&quot;https://www.example.com/wp-content/uploads/2019/04/my_background_image.jpg&quot; custom_padding=&quot;3vw||3vw|&quot; next_background_color=&quot;#f2f2f2&quot;]"/>


How to reproduce

The only way I've been able to reproduce this (in Divi) is by starting the page with a standard section containing a background image like so:

divi-meta-description-header


Other Info

This issue may affect other page builders such as Elementor and Beaver Builder but no testing has been done on either of these two yet.


Workaround

The obvious workaround for now is to make sure that the meta description field for all pages is completed manually.

Add importer for The SEO Framework

Some CP community members are using The SEO Framework. The ability to import from this plugin will facilitate the transition to Classic SEO.

Sections of readme.txt are not shown in "view details"

== Key Features == and == Important note == are not shown in the view details tabs.

Usually this file have the same content that is put into plugin details in Update Manager.
But (as far as i can understand) only tabs known by CP/WP are shown:

  1. Description
  2. Screenshots
  3. Reviews
  4. Frequently Asked Questions
  5. Installation
  6. Other Notes
  7. Changelog
  8. Upgrade Notice

Minimum PHP version

Running phpcs I've seen that the code is fully compatible with PHP 5.6.

Is it ok to enforce PHP 7 as a minimum version?

Breadcrumbs not displaying

As reported by @zulfgani on the forums:

In trying to add the breadcrumbs support to my theme via the template function I get no result although the shortcode works.

Digging through it appears the template-tags.php file is not being loaded thus rendering the function cpseo_the_breadcrumbs(); non-existent.

Database error when activating CPSEO

This error occurred upon activating the plugin, and it looks like it will re-appear up to once per day:

2020-07-24T15-06-28Z

The problem is on this line:

https://github.com/ClassicPress-plugins/classicpress-seo/blob/2a02cf4ffd2576988671f89553d717282c44289b/includes/modules/search-console/class-db.php#L338

The wrong kind of quotes are used (double quotes instead of single quotes for a value). This code should also be using $wpdb->prepare instead of concatenating values manually.

I did not look more closely to see what this code is trying to do or whether it is actually used anywhere.

Update Classic SEO admin menu on module activation

When a module is activated or deactivate, its associated menu item (if it has one) should automatically appear / disappear.

At present, the menu item will disappear when a module is deactivated but does not appear when a module is activated.

Using Search Console as an example:

Before module activation:

image

After module activation - no difference but the Search Console menu should be displayed now that the module is active.

image

Only by refreshing the page does the menu item appear.

image

Bug with PHP <7 - plugin is not deactivated

When activating with lower version of PHP the error message is correctly displayed, but the plugin is not deactivated.

The problem seems here.

Just replacing CPSEO_FILE with __FILE__ solves it.

Titles & Meta: Use custom post type's dashboard icons

On the Titles & Meta page, in the sidebar: Custom post types and taxonomies that choose a dashboard menu icon (from the Dashicons font) are not shown with that icon, but a generic icon.

Example:
I have a plugin for a event post type that registers the calendar icon with
'menu_icon' => 'dashicons-calendar',
but it is shown with the same pin icon like blog posts.

Also happens for custom taxonomies, both hierarchic and non-hierarchic, which are shown with the same icon like tags (non-hierarchic).

I further believe the icon von hierarchic taxonimies without chosen icon needs to be the same like category then.

missing module of Buddypress and bbpress

There is missing module of BuddyPress and bbPress in Dashboard of Classic-seo plugin. due to this there is error in titles and meta, if a (members/member_name/ or groups/group_name/ etc.) pages are visited. It states Page Not Found in the meta and title, even if that profile is available. ( see screenshots > https://res.cloudinary.com/foxm/image/upload/v1587118073/posting%20images%20for%20classicpress.jpg )

posting images for classicpress

Thanks ! Classic-SEO missing a lot more features as compare with Rank Math. but since it is light-weight is appreciated and is in beta.
note: i m using Version 1.0.0-beta.3

Add usage tracking notice and opt out

@xxsimoxx's Stats for Update Manager extension for Codepotent's plugin updater provides the facility to track plugin usage as shown in this example:

cpseo-usage

Need to add a notice informing users that this is happening and why, giving them the option to opt-out if required. Similar to that introduce to Classic Commerce:

image

Plugin translation

Keep updated.

Enable i18n through gettext functions and translators: comments.

Clarify wording on Author Archives and Date Archives option settings

The wording for the how the Author Archives and Date Archives option settings work is a little ambiguous and should be made clearer.

In addition, the settings button for Date Archives is shown with the Enabled option first and Disabled second whereas all other similar buttons are shown with the Disabled or Off option first. This needs to be made consistent.

author-archives

date-archives

Improve Services Rich Snippet

Various properties are missing from the Services rich snippet, such as areaServed and provider. Adding these missing properties will improve the schema output and will help search engines to better understand what information is contained on each web page.

Feature request: use CodePotent Update Manager for updates

This is a non-urgent feature request.

I've found that most of the time, the Github Updater does not show when an update for Classic SEO is available, and the update has to be done manually.

A different method is available, which doesn't require an additional plugin to be installed alongside Classic SEO. It does however require a PHP class to be added to the plugin, and it requires the 'host' CP installation (which will report updates) to have the Update Manager installed and configured.

https://codepotent.com/classicpress/plugins/update-manager/

This might be a more reliable solution until the CP plugin directory is implemented in the future.

Rename plugin

After a forum discussion culminating in this post https://forums.classicpress.net/t/plugin-theme-naming-conventions-when-to-use-classicpress-and-or-cp/1653/8 it was agreed to rename the plugin Classic SEO.

This is pending the release of formal guidelines which are expected to state that the use of the word 'classicpress' in plugin and theme names is to be avoided.

This is a major update requiring changes to the code and database.

For v0.3.0. An updater function will be included to update existing installations.

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.