Plugin Directory

Changeset 3723927


Ignore:
Timestamp:
10/01/2026 10:16:53 PM (3 weeks ago)
Author:
goppa
Message:

0.15.0

Location:
goppa-agentic-commerce
Files:
15 added
5 edited

Legend:

Unmodified
Added
Removed
  • goppa-agentic-commerce/trunk/goppa.php

    r3723805 r3723927  
    44 * Description:       See which AI crawlers read your site, push every change straight into Bing's index with IndexNow, and tell AI systems they may use your pages in generated answers. Adds a UCP manifest, MCP server and llms.txt for a WooCommerce catalogue when one is present.
    55 * Plugin URI:        https://trygoppa.com
    6  * Version:           0.14.0
     6 * Version:           0.15.0
    77 * Author:            Goppa
    88 * Author URI:        https://trygoppa.com
    … …  
    4747}
    4848
    49 define( 'GOPPA_VERSION', '0.14.0' );
     49define( 'GOPPA_VERSION', '0.15.0' );
    5050define( 'GOPPA_DIR', plugin_dir_path( __FILE__ ) );
    5151
    … …  
    5858require_once GOPPA_DIR . 'includes/class-goppa-feed-check.php';
    5959require_once GOPPA_DIR . 'includes/class-goppa-conversao.php';
     60require_once GOPPA_DIR . 'includes/class-goppa-ciclo.php';
    6061
    6162/* ------------------------------------------------------------------ */
    … …  
    14931494         */
    14941495        register_setting( 'goppa', 'goppa_pedidos_canal', array(
     1496                'type'              => 'string',
     1497                'default'           => 'no',
     1498                'sanitize_callback' => function ( $v ) {
     1499                        return 'yes' === $v ? 'yes' : 'no';
     1500                },
     1501        ) );
     1502        /*
     1503         * O ciclo do produto (0.15.0, `class-goppa-ciclo.php`). Nasce 'no':
     1504         * redirecionar é mudar o que o site responde, e isso é decisão do
     1505         * lojista. Desligar para tudo na hora.
     1506         */
     1507        register_setting( 'goppa', 'goppa_ciclo_produto', array(
    14951508                'type'              => 'string',
    14961509                'default'           => 'no',
    … …  
    22922305                                                <p style="margin:.5em 0"><?php esc_html_e( 'Nothing new is stored about your visitors: no cookie, no session data. For every order, only the channel (for example google, bing, ai, paid or direct), the currency, the order total and a one-way code for the order leave your site. The name of a search engine or an AI assistant is sent; campaign names and other referring sites are not.', 'goppa-agentic-commerce' ); ?></p>
    22932306                                                <p style="margin:.5em 0"><?php esc_html_e( 'It follows the rule WooCommerce uses: an order counts for the last visit that did not come in directly. If WooCommerce order attribution is turned off, orders are counted without a channel.', 'goppa-agentic-commerce' ); ?></p>
     2307                                                </div>
     2308                                        </td>
     2309                                </tr>
     2310                                <tr id="goppa-ciclo-produto">
     2311                                        <th scope="row"><?php esc_html_e(
     2312                                                'Removed products',
     2313                                                'goppa-agentic-commerce' ); ?></th>
     2314                                        <td>
     2315                                                <label><input type="checkbox"
     2316                                                name="goppa_ciclo_produto" value="yes"
     2317                                                <?php checked( get_option(
     2318                                                        'goppa_ciclo_produto', 'no' ), 'yes' ); ?>>
     2319                                                <?php esc_html_e( 'Send visitors of a deleted product to its category, and count pages that are not found', 'goppa-agentic-commerce' ); ?></label>
     2320                                                <p class="description">
     2321                                                <?php esc_html_e( 'When you move a product to the trash, its address answers with a permanent redirect (301) to the product\'s main category instead of "page not found". Restore the product and its page comes back. Out-of-stock products are not touched: their page stays, and WooCommerce already tells Google they are out of stock.', 'goppa-agentic-commerce' ); ?>
     2322                                                </p>
     2323                                                <p class="description">
     2324                                                <?php esc_html_e( 'Only products deleted while this is on are redirected. Turn it off and every redirect stops at once.', 'goppa-agentic-commerce' ); ?>
     2325                                                </p>
     2326                                                <?php
     2327                                                /*
     2328                                                 * O que o plugin já fez e viu, aqui mesmo, sem conta:
     2329                                                 * a lista dos não encontrados é útil a quem nunca se
     2330                                                 * conectou (e é a prova de que a caixa trabalha).
     2331                                                 */
     2332                                                $goppa_ciclo = Goppa_Ciclo::resumo();
     2333                                                if ( $goppa_ciclo ) :
     2334                                                        ?>
     2335                                                <p class="description"><?php
     2336                                                echo esc_html( sprintf(
     2337                                                        /* translators: %d: number of redirected product addresses */
     2338                                                        _n( '%d removed product address is being redirected.', '%d removed product addresses are being redirected.', (int) $goppa_ciclo['redirecionados'], 'goppa-agentic-commerce' ),
     2339                                                        (int) $goppa_ciclo['redirecionados'] ) );
     2340                                                ?></p>
     2341                                                        <?php if ( $goppa_ciclo['nao_encontradas'] ) : ?>
     2342                                                <p class="description"><?php esc_html_e( 'Most requested addresses that were not found (last 30 days):', 'goppa-agentic-commerce' ); ?></p>
     2343                                                <ul style="margin:.3em 0 0 1.2em;list-style:disc">
     2344                                                                <?php foreach ( array_slice( $goppa_ciclo['nao_encontradas'], 0, 5 ) as $goppa_nf ) : ?>
     2345                                                        <li><code><?php echo esc_html( $goppa_nf['caminho'] ); ?></code> &mdash; <?php
     2346                                                        echo esc_html( sprintf(
     2347                                                                /* translators: %d: number of requests */
     2348                                                                _n( '%d request', '%d requests', (int) $goppa_nf['n'], 'goppa-agentic-commerce' ),
     2349                                                                (int) $goppa_nf['n'] ) );
     2350                                                        ?></li>
     2351                                                                <?php endforeach; ?>
     2352                                                </ul>
     2353                                                        <?php endif; ?>
     2354                                                <?php endif; ?>
     2355                                                <div class="notice notice-info inline" style="margin:10px 0 0;max-width:640px">
     2356                                                <p style="margin:.5em 0"><?php esc_html_e( 'Only the address path of a page that was not found is counted, such as /old-product. Never the query string, the visitor, the IP address or the browser. Files (.php, .png and so on) and WordPress system paths are not counted. If your site is connected to Goppa with SEO fixes, the 20 most requested paths and the number of redirects are sent once a day so you can see them in the Goppa app.', 'goppa-agentic-commerce' ); ?></p>
    22942357                                                </div>
    22952358                                        </td>
  • goppa-agentic-commerce/trunk/includes/class-goppa-seo.php

    r3723805 r3723927  
    974974                                // `ordem_limpa`, e ficaria "esperando o plugin" para sempre.
    975975                                'versao'     => defined( 'GOPPA_VERSION' ) ? GOPPA_VERSION : '',
     976                                // 0.15.0: os produtos removidos redirecionados e os
     977                                // caminhos que deram 404. null com a caixa desligada.
     978                                'ciclo'      => class_exists( 'Goppa_Ciclo' ) ? Goppa_Ciclo::resumo() : null,
    976979                        ) ), $token );
    977980                        if ( ! $ok ) {
  • goppa-agentic-commerce/trunk/includes/class-goppa-sync.php

    r3722405 r3723927  
    219219                        'seo_correcoes' => 'goppa_seo_correcoes',
    220220                        'pedidos_canal' => 'goppa_pedidos_canal',
     221                        'ciclo_produto' => 'goppa_ciclo_produto',
    221222                        'conversoes'    => 'goppa_conversoes',
    222223                        'guia'          => 'goppa_guia',
    … …  
    609610add_action( 'goppa_sync_cron_logo', array( 'Goppa_Sync', 'sincronizar' ) );
    610611foreach ( array( 'goppa_faq_visivel', 'goppa_resumo', 'goppa_seo_correcoes', 'goppa_pedidos_canal',
    611         'goppa_conversoes', 'goppa_guia', 'goppa_faq_categoria', 'goppa_politicas', 'goppa_token' ) as $goppa_opcao_acompanhada ) {
     612        'goppa_ciclo_produto', 'goppa_conversoes', 'goppa_guia', 'goppa_faq_categoria', 'goppa_politicas', 'goppa_token' ) as $goppa_opcao_acompanhada ) {
    612613        add_action( 'update_option_' . $goppa_opcao_acompanhada, array( 'Goppa_Sync', 'sincronizar_logo' ) );
    613614        add_action( 'add_option_' . $goppa_opcao_acompanhada, array( 'Goppa_Sync', 'sincronizar_logo' ) );
  • goppa-agentic-commerce/trunk/readme.txt

    r3723805 r3723927  
    55Tested up to: 7.1
    66Requires PHP: 7.4
    7 Stable tag: 0.14.0
     7Stable tag: 0.15.0
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
    … …  
    118118  opened on your WordPress.
    119119
     120= Optional: removed products and pages not found =
     121
     122Off until you turn it on under Goppa → Settings → Removed products. When
     123a product goes to the trash, its address answers with a permanent
     124redirect (301) to the product's main category, so Google and anyone with
     125the old link land somewhere useful instead of "page not found". Restore
     126the product and its page comes back; turn the setting off and every
     127redirect stops at once. Out-of-stock products are not redirected: their
     128page stays.
     129
     130The same setting counts the addresses on your site that answered "page
     131not found" — only the path, such as `/old-product` — and lists the most
     132requested ones on the settings screen.
     133
    120134= Readable is not the same as recommended =
    121135
    … …  
    241255one-way code exists only so the same sale is not counted twice.
    242256
     257**Removed products and pages not found (0.15.0, off until you turn it
     258on).** The redirects and the count stay on your server. Only when your
     259site is connected and the Goppa app requests the daily SEO inventory, the
     260plugin adds the number of redirected product addresses and the 20 most
     261requested paths that were not found in the last 30 days, each with its
     262count and the date it was last requested. Only the path of the address:
     263never the query string, the visitor, the IP address or the browser.
     264
    243265**Product questions (0.12.0).** Answers you write in the Goppa app come
    244266to the plugin with the SEO fixes (so the SEO fixes setting must be on)
    … …  
    328350
    329351== Changelog ==
     352
     353= 0.15.0 =
     354* **Removed products send visitors to their category.** New, and off
     355  until you turn it on under Goppa → Settings → Removed products. A
     356  product moved to the trash while this is on answers with a permanent
     357  redirect (301) to its main category (the primary category chosen in
     358  Yoast SEO or Rank Math, otherwise the first one that is not
     359  "Uncategorized"). Restoring the product removes the redirect, and
     360  turning the setting off stops all of them at once. Out-of-stock
     361  products keep their page.
     362* **Pages not found, counted.** The same setting counts the paths that
     363  answered "page not found" (files and WordPress system paths are left
     364  out) and shows the most requested ones on the settings screen. With
     365  SEO fixes connected, the Goppa app shows them too.
    330366
    331367= 0.14.0 =
    … …  
    750786== Upgrade Notice ==
    751787
     788= 0.15.0 =
     789New, off until you turn it on: deleted products redirect to their
     790category, and the settings screen lists the addresses that were not
     791found.
     792
    752793= 0.14.0 =
    753794SEO titles and descriptions you wrote can now be replaced, only when you
  • goppa-agentic-commerce/trunk/uninstall.php

    r3722405 r3723927  
    6363        // o formato de id do feed do Merchant Center (0.12.0)
    6464        'goppa_mc_id',
     65        // o ciclo do produto (0.15.0): a caixa, os enderecos redirecionados
     66        // e a contagem dos nao encontrados. Sem o plugin nada redireciona,
     67        // entao a lista nao serve para mais nada.
     68        'goppa_ciclo_produto',
     69        'goppa_produtos_removidos',
     70        'goppa_nao_encontradas',
    6571        // ⚠️ `goppa_origem_ia` e chave da SESSAO da WooCommerce, nao
    6672        // opcao — some sozinha com a sessao. Fica aqui mesmo assim: o
Note: See TracChangeset for help on using the changeset viewer.