Search Results No Link

The search results page is not showing a link that the user can click on. I am needing the heading to be the link.

Does anyone know what the issue might be?

Below is my search.php code…

    <?php /**  * The template for displaying Search Results pages  *  * @package WordPress  * @subpackage Cornerstone  * @since Cornerstone 3.0.0  */  get_header(); ?>  <div class="row">     <section id="primary" class="site-content small-12 medium-8 columns">         <div id="content" role="main">          <?php if ( have_posts() ) : ?>              <header class="page-header">                 <h1 class="page-title"><?php printf( __( 'Search Results for: %s', 'cornerstone' ), '<span>' . get_search_query() . '</span>' ); ?></h1>             </header>              <?php /* Start the Loop */ ?>             <?php while ( have_posts() ) : the_post(); ?>                 <?php get_template_part( 'content', get_post_format() ); ?>             <?php endwhile; ?>          <?php else : ?>              <article id="post-0" class="post no-results not-found">                 <header class="entry-header">                     <h1 class="entry-title"><?php _e( 'Nothing Found', 'cornerstone' ); ?></h1>                 </header>                  <div class="entry-content">                     <p><?php _e( 'Sorry, but nothing matched your search criteria. Please try again with some different keywords.', 'cornerstone' ); ?></p>                     <?php get_search_form(); ?>                 </div>             </article>              <?php do_action( 'cornerstone_before_pagination' ); ?>          <?php endif; ?>          <?php // Pagination             if (function_exists("emm_paginate")) {             emm_paginate();         } ?>          <?php do_action( 'cornerstone_after_content' ); ?>          </div>     </section>      <?php get_sidebar(); ?> </div> <?php get_footer(); ?> 

Should unit test expected results be hardcoded?

Should the expected results of a unit test be hardcoded, or can they be dependant on initialised variables? Do hardcoded or calculated results increase the risk of introducing errors in the unit test? Are there other factors I haven’t considered?

For instance, which of these two is a more reliable format?

[TestMethod] public void GetPath_Hardcoded() {     MyClass target = new MyClass("fields", "that later", "determine", "a folder");     string expected = "C:\Output Folder\fields\that later\determine\a folder";     string actual = target.GetPath();     Assert.AreEqual(expected, actual,         "GetPath should return a full directory path based on its fields."); }  [TestMethod] public void GetPath_Softcoded() {     MyClass target = new MyClass("fields", "that later", "determine", "a folder");     string expected = "C:\Output Folder\" + string.Join("\", target.Field1, target.Field2, target.Field3, target.Field4);     string actual = target.GetPath();     Assert.AreEqual(expected, actual,         "GetPath should return a full directory path based on its fields."); } 

EDIT 1: In response to DXM’s answer, is option 3 a preferred solution?

[TestMethod] public void GetPath_Option3() {     string field1 = "fields";     string field2 = "that later";     string field3 = "determine";     string field4 = "a folder";     MyClass target = new MyClass(field1, field2, field3, field4);     string expected = "C:\Output Folder\" + string.Join("\", field1, field2, field3, field4);     string actual = target.GetPath();     Assert.AreEqual(expected, actual,         "GetPath should return a full directory path based on its fields."); } 

Submit form load results instead of messages

I am testing out the new Drupal 8 custom modules and currently stuck with the submit form handler to load form submitted results in the same page and my current functions of last submit is this (inside the controller form) :

    <?php /**  * @file  * Contains \Drupal\resume\Form\ResumeForm.  */ namespace Drupal\resume\Form;  use Drupal\Core\Form\FormBase; use Drupal\Core\Form\FormStateInterface;  class ResumeForm extends FormBase {   /**    * {@inheritdoc}    */   public function getFormId() {     return 'resume_form';   }    /**    * {@inheritdoc}    */   public function buildForm(array $  form, FormStateInterface $  form_state) {      $  form['candidate_name'] = array(       '#type' => 'textfield',       '#title' => t('Candidate Name:'),       '#required' => TRUE,     );      $  form['candidate_mail'] = array(       '#type' => 'email',       '#title' => t('Email ID:'),       '#required' => TRUE,     );      $  form['candidate_number'] = array (       '#type' => 'tel',       '#title' => t('Mobile no'),     );      $  form['candidate_dob'] = array (       '#type' => 'date',       '#title' => t('DOB'),       '#required' => TRUE,     );      $  form['candidate_gender'] = array (       '#type' => 'select',       '#title' => ('Gender'),       '#options' => array(         'Female' => t('Female'),         'male' => t('Male'),       ),     );      $  form['candidate_confirmation'] = array (       '#type' => 'radios',       '#title' => ('Are you above 18 years old?'),       '#options' => array(         'Yes' =>t('Yes'),         'No' =>t('No')       ),     );      $  form['candidate_copy'] = array(       '#type' => 'checkbox',       '#title' => t('Send me a copy of the application.'),     );      $  form['actions']['#type'] = 'actions';     $  form['actions']['submit'] = array(       '#type' => 'submit',       '#value' => $  this->t('Save'),       '#button_type' => 'primary',     );     return $  form;   }    /**    * {@inheritdoc}    */     public function validateForm(array &$  form, FormStateInterface $  form_state) {        if (strlen($  form_state->getValue('candidate_number')) < 10) {         $  form_state->setErrorByName('candidate_number', $  this->t('Mobile number is too short.'));       }      }    /**    * {@inheritdoc}    */   public function submitForm(array &$  form, FormStateInterface $  form_state) {     // drupal_set_message($  this->t('@can_name ,Your application is being submitted!', array('@can_name' => $  form_state->getValue('candidate_name'))));      foreach ($  form_state->getValues() as $  key => $  value) {       drupal_set_message($  key . ': ' . $  value);     }     } } 

I wanted to show results in a table in the same page form where user submit the form, rather than just throwing in messages

thank you

Difference in Results: a Query to DuckDuckGo and the Same Query to Google.com

Why? FAQ does not adequately cover:

Result based on “Amanpour and friends Brexit:”

Using DuckDuckGo:

—————— #1 Result From DuckDuckGo: “Leftist Shill TRAITOR WITCH, Christiane Amanpour on BREXIT” (Propaganda)[2016]

—————— Using Google.com within 5 seconds and same search:

#1 Result From Google.com: First Vice President of the European Commission Frans Timmermans tells Christiane Amanpour that after a …

Search for: How much does Christiane Amanpour make?

Is Amanpour still on CNN? Amanpour is the Chief International Anchor for CNN and host [&&&&ETC]

How to force Google search to only return English results?

I’m in France and trying to use Google in English only. My Google settings are set to English everywhere:

enter image description here

I’ve also clicked on the link “use google.com” but when I do a search, it still shows some results in French, and I suspect the results are somehow tweaked for a French audience, which means some important English ones might be missing.

enter image description here

Is there any way to force it to really use only English (except for using a VPN or proxy server)?

Google Search: Results Ordered by Relational Position in Texts

This applies to the Google API for situations where there are many (thousands of) hits in Web text searches.
When searching large text sources, typically books, the default display order of results of well used search terms A and B may list the hits with A and B close together in the text block, first.
But not always.
The engine employs other factors such as popularity, date of text, text size, scan date, meta info, and so on, so the output can appear “random”, and a few of the A_close_to_B hits get shunted way down in the search results.

The purpose of this question is to address concerns the agents of search have, by way of intuition, the notion that (the first) two search arguments (A, B) are most likely to appear in the same sentence, or paragraph, of the target text block. Thus, can the search results pages show the “closest” arguments (A, B) on page 1, and successive results pages show hits according to the criteria of increasing argument (A, B) distance?

Text Block____________
Text Block____________
Text Block____________|
Text Block_A__|_______|
Text Block____m______|
Text Block____|_______|
Text Block_B__|_______|
Text Block____________|
Text Block____________M (scalar)
Text Block____________
Text Block____________

More specifically, well-used search terms (can be a quoted phrase) A and B are desired as being scalar value m (less than M) characters away from each other in the text block. The smallest (nearest) of the m < M hits would be displayed in the list first, succeeded by others as m approaches M. Whether or not any results are displayed when m > M, may be considered as optional in the Advanced Search section.

All well and good, as a solution to the above scenario addresses a most of the above issues identified with ordered search results.

Introduce another term C, which can either be set as within M of A or B or both/neither. At greater cost to GUI and engine, also consider a new limit K of A and N of B.
When more search arguments D, E, … etc. get added to the mix, it is more of a challenge to conceptualize the search page GUI with implementation of such an integration, especially when different relational limits K, N, O, … etc. are on offer.

So applying just the one limit M to all terms will conceivably be part of the most practical solution.
The question points to the possibility of tailoring the API for this purpose- if not- it’s out there for perhaps a development for even Google itself to consider, as Chrome evolves.

When your page has no results, what do you show?

I am paginating a data table and have different views in my application where each view has its own rows. Some views may have data, some may not

Showing 1-0 of 0 Page 1 of 0 is what I am showing on a page with no rows If I had some rows to display, it would be

Showing 1-30 of 45 Page 1 of 1

What do I display in the empty case?

Some possibilities

  1. Showing 0-0 of 0 Page 1 of 1
  2. Showing 0-1 of 1 Page 1 of 1

What do I do here

Search results are still broken

"The Medic Update" literally broke the internet…

Hi everyone,

I am an occasional contributor here and have been since almost the start of my SEO career.

Recent events have made me question my knowledge, my judgement and my ability to diagnose an issue related to organic Google search.

I work for an online pharmacy / chemist, I have an outstanding team of digital marketers.

Working in this field is naturally more complicated than working in a non-regulated sector.

We have done everything possible from an E-A-T perspective, prior to the ‘Medic Update’, to ensure that our customers can trust us.

Let’s face it, from the word go we are battling ‘buying medicines online’ – it already sounds non-legitimate and potentially fraudulent, as opposed to walking into a local chemist where the trust is instant.

This is why we position ourselves as a friendly, trustworthy and accessible online chemist.

Rewind to 27th September 2018 and there was, for us, a significant algorithm update that caused a 70% decrease in organic traffic which translates to a monumental loss of revenue.

It was like a light switch being flicked off.

The news that followed pointed at E-A-T.

My issue is that when an algo update has previously been rolled out and a client has seen a decrease, I can usually diagnose the issue and/or will know in my gut feeling that I already know what the issue is.

In this case, I had no idea… and I still have no idea what has gone wrong.

I have had advice from real SEO figureheads as well as other industry professionals that I trust a lot.

I have spoken to competitors both in our country and other and still I have no clue what went wrong.

As it stands, I am confident and certain that the search results are broken.

Over a month after the update, we were still seeing awful search results.

An example, "buy codeine linctus", page 1 results included a Japanese, non ecommerce website with the only mention of the work ‘codeine’ in the URL, and the entire page in Japanese.

Even today, a search for another popular produce, "buy phenergan", we are being outranked by Australian ecommerce websites who sit on page 1.

The basics of Google Search are broken.

I’m in the UK, I am looking to buy a product.

Clearly the right result here is to provide UK ecommerce search results.

Their result (I don’t belive they ship to the UK either): https://www.chemistwarehouse.com.au/…5mg-50-tablets

Our page: https://www.chemist-4-u.com/phenergan-25mg-tablets-56s

We have clear imagery, options to buy different strengths, links to the official information leaflet, safety advice, extensive product description, links to help and advice guides, mentions of how we are regulated, we have our content checked for quality and accuracy by professional pharmacists

The list goes on.

This single example is the top of the iceberg – I am convinced there is an issue with the current algo and I feel there must be another significant update coming in the next couple of months.

… thoughts?

Can results of ARRAYFORMULA be used as values in an annotated timeline?

I am trying to create an annotated timeline with the following data, which exists on another sheet:

My sample data

I am using an ARRAYFORMULA to retrieve the text. I want to display these values as an annotated timeline chart, but I keep getting this error:

Each values column may be followed by one or two annotation columns. column number 1 is of type string

The error I am getting

It is driving me nuts. Is it because it is an ARRAYFORMULA? If I hand type it out again (which is simply untenable) the chart generates fine. Is there a fix, or is this just broken?